2017-09-23 13 views
-1

私はインターネットに接続されていないPCを持っていますが、ローカルのホストネットワーク上にあります。 そのPCから「PC2」に電子メールを送りたいのですが、インターネットに接続しています。インターネット接続なしでローカルホストにのみメールを送信してメールを送信する方法は?

どうすればいいですか? は、私がこれまでに

 public void SendEmailsUsingPickupDirectory() 
     { 
     MailMessage mail = new MailMessage(); 

     mail.From = new MailAddress("[email protected]"); 
     mail.To.Add("[email protected]"); 

     mail.Subject = "12"; 
     mail.Body = "12"; 

     DirectoryInfo dirInfo = new DirectoryInfo("C:\\TestEmails"); 
     if (!dirInfo.Exists) 
     { 
      Directory.CreateDirectory("C:\\TestEmails"); 
     } 

     SmtpClient smtp = new SmtpClient(); 
     smtp.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; 
     smtp.PickupDirectoryLocation = "C:\\TestEmails"; 
     smtp.Send(mail); 
     } 

このコードを持っていますが、それだけで何も送信しないそのフォルダ内のファイルを作成しますが、私はそのようなコードは、インターネット接続なしでメールを送信することができ、インターネット上で読みます。 私の英語が悪い場合はまた申し訳ありません。

ありがとうございます。

答えて

1

PC2(インターネット接続されたPC)にSMTPサーバーをセットアップする必要があります。 PC1は、共有を介してネットワークを介してPC2のピックアップディレクトリにアクセスする必要があります。現在のコードは、PC2上のSMTPサーバーによって利用されている既に作成されたフォルダにファイルをドロップする必要があるときに、PC1上にフォルダを作成するように見えます。

SmtpClient smtp = new SmtpClient(); 
smtp.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; 
smtp.PickupDirectoryLocation = @"\\PC2\Pickup"; 
smtp.Send(mail); 
+0

これにより、その場所に.EMLファイルが作成されます。 私はそれらで何かできますか? – Tamas555

+0

それは正しいです。 SMTPクライアントを使用していることに注意してください。あなたは、フォルダを監視するSMTPサーバを持っている必要があります。 IISや他の製品でSMTPサーバーを設定する方法を調べたいと思うでしょう。 – crevenant

関連する問題