4

これが私のコードです:

SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = true;

using (client as IDisposable)
{
    foreach (MailAddress addr in Addresses)
    {
        if (addr != null) 
        {
            try 
            {
                message.To.Clear();
                message.To.Add(addr);
                client.Send(message);
            }
            catch (Exception ex) 
            {
                Log(ex);
            }
            i++;
        }
    }
}

100秒ごとに、次のようなメッセージをログに記録します

操作がタイムアウトしました。

これはクライアント側の設定ですか、それとも実際のメールサーバー上ですか?

4

2 に答える 2

5

この問題は、SMTP サーバーに接続できない場合に発生し、そのためにこのタイムアウト メッセージが表示されます。したがって、クライアントが SMTP サーバーに接続できない場合、クライアントで次のメッセージが表示されます。

以下で説明するように、100 秒がデフォルト値です: http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.timeout.aspx

この問題が発生する理由はいくつかある可能性があります。たとえば、間違った SMTP アドレス、SMTP 拒否、ポート設定、SSL 設定などを修正する必要があります。

于 2012-05-24T19:04:05.657 に答える