2010-12-01 9 views
4

SmarterEmailサーバーを構成して実行しています.25ポートの構成済み電子メールアカウントに対してSMTPサービスを実行しています。SMTPはSmtpClinet(SmarterEmailサーバー)によって電子メールの失敗を送信します

私は私のメールサーバーでメールを送信するための簡単な.NETアプリケーションを作成しました、それは本当に簡単です:

 public void SendEmail(EmailMessage message, string username, string password, string host, int port, bool enableSsl) 
    { 
     MailMessage mm = new MailMessage(message.From, message.To, message.Subject, message.Message); 
     NetworkCredential credentials = new NetworkCredential(username, password); 

     SmtpClient sc = new SmtpClient(host, 25); 
     sc.DeliveryMethod = SmtpDeliveryMethod.Network; 
     sc.UseDefaultCredentials = false; 
     sc.EnableSsl = enableSsl; 
     sc.Credentials = credentials; 

     sc.Send(mm); 
    } 

このアプリケーションは例外で失敗しました:

未処理の例外:System.Net .Mail.SmtpException:メールの送信に失敗しました。 ---> S ystem.Net.WebException:リモートサーバーに接続できません---> System.Net.S ockets.SocketException:接続されたパーティー が正しく応答しなかったために接続に失敗しました。接続されたホストが応答に失敗したために、 dが返されました。System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot、SocketAddre ss socketAddress)で を返しました。System.Net.ServicePoint.ConnectSocketInternalで ブールconnectFailure、Sock et s4、ソケットs6、ソケット&ソケット、IPAddress &アドレス、ConnectSocketState状態、 IAsyncResult asyncResult、Int32タイムアウト、例外たIPAddress &アドレス、ソケット& abortSocket、ソケット& abortSocket 6 System.Net.ServicePoint.GetConnection(PooledStream PooledStream、 NER OWオブジェクト、ブール非同期、で内部例外スタックトレースの例外) ---エンド--- 、System.Net.PooledStream.ActivateでのInt32タイムアウト) (System.Net.PooledStream.ActivateでowningObject、ブール非同期、のInt32 タイムアウト、GeneralAsyncDelegate asyncCallback) オブジェクト(オブジェクトowningObject、GeneralAsyncDelegate asyncCallback)System.Netで 。 ConnectionPool.GetConnection(Object owningObject、GeneralAsyncD elegate asyncCallback、Int32 creationTimeout) at System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint) at System.Net.Mail.SmtpTransport.GetConnection(ServicePoint servicePoint) at System.Net.Mail.SmtpClient.GetConnection() at System.Net.Mail .SmtpClient.Send(MailMessageメッセージ) ---内部例外スタックトレースの終了--- at System.Net.Mail.SmtpClient.Send(MailMessageメッセージ) SendMail.MailService.SendEmail(EmailMessageメッセージ、Stringユーザー名、 D:¥Development¥Proje ngパスワード、文字列ホスト、Int32ポート、ブールenableSsl)D:¥Development¥Proje cts¥Experiments¥SendMail¥SendMail¥Program.cs:行36 、SendMail.Program.Main(String [] args)in D:\ Development \ Projects \ Experiment \ SendMail \ SendMail \ Program.cs:行52

メールサーバー:mail.trackyt.net、port = 25、SSL = false。私の(ローカル)マシンからは動作しません。

同時に、このアプリケーションをSmarterEmail(リモート)が実行されているマシンにコピーすると、正常に動作します!

私はそれがファイアウォールによってブロックされ、リモートマシンで25が有効になったと思った - 同じ結果。 無効ローカルとリモートの両方のファイアウォール - 同じ結果です。

追加の診断:

実行SMTP試験http://pingability.com/smtptest.jspによって:

EHLO pingability.com 250 MAST-WIN2K8R2-STDハロー[207.210.209.134] 250-SIZE 31457280 250-AUTH DEBUG SMTP:見つかった拡張子 "OK"、arg "31457280" DEBUG SMTP:見つかった拡張子 "OK"、arg "31457280" DEBUG SMTP: " DEBUG SMTP:試みが DEBUGのSMTPを認証するために:メカニズムをチェック:LOGIN PLAIN DIGEST-MD5 NTLM は、AUTH LOGINは 334 VXNlcm5hbWU6 c3VwcG9ydAの== 334 UGFzc3dvcmQ6 c3VwcG9ydDEyMw == 235認証が成功した

それはと言いますSMTPはOKです。私のマシンから

のTelnet:接続:ポート 25上のホストへのmail.trackyt.net ...開けませんでしたコネクションに接続する

マイクロソフトのTelnet> O mail.trackyt.net 25 失敗しました

SmarterMailマシンからの同じtelnetはOKです。

アイデア?

+0

あなたはコンピュータでmail.trackyt.netを認識できますか?ホスト変数にIPアドレスを使用してみてください。 – hallie

+0

はい、例外的に、解決しました。OK - 173.248.182.102:25 –

+0

リッスンしているメールサーバーはどのIPですか? – jgauffin

答えて

3

あなたは自宅でこれをやっていますか?多くのISPが発信ポート25をブロックします。

smartermailでは、別のポートにSMTPリスナーを追加できます。 587用に1つ追加してみて、それに接続できるかどうかを確認してください(これを行う管理者権限があると仮定します)。

--dave

+0

そうですね、私は家からやっています。 –

+0

神はあなたの男を祝福し、あなたは私に多くの時間と緊張を救った! –

+0

素晴らしい!あなたはそれを解決することができてうれしいです。 –

関連する問題