smtp を使用してメッセージを送信しようとすると、次のエラー メッセージが表示されます。
接続先が一定時間後に適切に応答しなかったために接続の試行が失敗したか、接続されたホストが応答しなかったために確立された接続が失敗しました 67.69.240.69:25 System.Net.WebException: リモート サーバーに接続できません ---> System.Net.Sockets.SocketException: 接続先が一定時間後に適切に応答しなかったため、接続の試行が失敗したか、接続されたホストが原因で確立された接続が失敗しました67.69.240.69:25 に応答できませんでした System.Net.Sockets.Socket.DoConnect (エンドポイント endPointSnapshot、SocketAddress socketAddress) で System.Net.ServicePoint.ConnectSocketInternal で (ブール値の connectFailure、ソケット s4、ソケット s6、Socket& ソケット、IPAddress& アドレス、ConnectSocketState 状態、IAsyncResult asyncResult、Int32 タイムアウト、Exception& 例外) --- 内部例外スタック トレースの終了 --- System.Net.ServicePoint.GetConnection (PooledStream PooledStream、オブジェクトの所有者、ブール値の非同期、IPAddress& アドレス、Socket& abortSocket、Socket& abortSocket6、Int32 タイムアウト) で System.Net.PooledStream.Activate (オブジェクト owningObject、ブール値の非同期、Int32 タイムアウト、GeneralAsyncDelegate asyncCallback) で System.Net.PooledStream.Activate (オブジェクトを所有するオブジェクト、GeneralAsyncDelegate asyncCallback) で System.Net.ConnectionPool.GetConnection (オブジェクト owningObject、GeneralAsyncDelegate asyncCallback、Int32 creationTimeout) で System.Net.Mail.SmtpConnection.GetConnection (文字列ホスト、Int32 ポート) で System.Net.Mail.SmtpClient.Send (MailMessage メッセージ) で --- 内部例外スタック トレースの終了 --- System.Net.Mail.SmtpClient.Send (MailMessage メッセージ) で Handler.BLL.cSendMail.SendMail (文字列 p_strFrom、文字列 p_strDisplayName、文字列 p_strTo、文字列 p_strSubject、文字列 p_strMessage、文字列 strFileName) で [ スタッフ ID:,21/08/2013 9:49:34 AM ]: ステータス コード: GeneralFailure
コード
public bool SendMail(string p_strFrom, string p_strDisplayName, string p_strTo, string p_strSubject, string p_strMessage , string strFileName)
{
try
{
p_strDisplayName = _DisplayName;
string smtpserver = _SmtpServer;
SmtpClient smtpClient = new SmtpClient();
MailMessage message = new MailMessage();
MailAddress fromAddress = new MailAddress(_From,_DisplayName);
smtpClient.Host = _SmtpServer;
smtpClient.Port = Convert.ToInt32(_Port);
string strAuth_UserName = _UserName;
string strAuth_Password = _Password;
if (strAuth_UserName != null)
{
System.Net.NetworkCredential SMTPUserInfo = new System.Net.NetworkCredential(strAuth_UserName, strAuth_Password);
smtpClient.UseDefaultCredentials = false;
if (_SSL)
{
smtpClient.EnableSsl = true;
}
smtpClient.Credentials = SMTPUserInfo;
}
message.From = fromAddress;
message.Subject = p_strSubject;
message.IsBodyHtml = true;
message.Body = p_strMessage;
message.To.Add(p_strTo);
try
{
smtpClient.Send(message);
Log.WriteSpecialLog("smtpClient mail sending first try success", "");
}
catch (Exception ee)
{
Log.WriteSpecialLog("smtpClient mail sending first try Failed : " + ee.ToString(), "");
return false;
}
return true;
}
catch (Exception ex)
{
Log.WriteLog("smtpClient mail sending overall failed : " + ex.ToString());
return false;
}
}
3通以上のメールが1通か2通しか送れなかった場合