1

最近新しいコンピューターを購入しましたが、電子メールが送信されなくなり、例外がスローされることもありません。

SmtpClient クラスを使用して動作するサンプルを提供してもらえますか? どんな助けでも大歓迎です。

ありがとうございました

アップデート


わかりました-資格情報を追加しました。そして、同期的に電子メールを正常に送信できます。しかし、非同期で送信することはまだできません。

旧: 電子メールを同期的に送信しようとすると、次の例外が発生します。

処理に失敗しました。サーバーの応答は次のとおりです。

5.7.1 <myfriend@hotmails.com>: リレー アクセスが拒否されました。

4

2 に答える 2

1

Async() を介してメールを送信できます。以下のコードに従う必要があることを意味します。

smtpClient.SendCompleted += new SendCompletedEventHandler(smtpClient_SendCompleted);
smtpClient.SendAsync(mailMessage, mailMessage);

また、非同期を使用している場合は、次のようなイベント ハンドラーも必要です。

static void smtpClient_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
    {
        //to be implemented        
    }

これを使うと、メールを送ることができます。

于 2013-03-11T11:52:46.233 に答える
0

最初に同期Sendメソッドを試して、SMTP サーバーですべてが正しくセットアップされ、例外が発生しないことを確認できます。

var client = new SmtpClient("smtp.somehost.com");
var message = new MailMessage();
message.From = new MailAddress("from@somehost.com");
message.To.Add(new MailAddress("to@somehost.com"));
message.Subject = "test";
message.Body = "test body";
client.Send(message);

注意: .NET 4 SmtpClientではIDisposableが実装されているため、必ずusingステートメントでラップしてください。

于 2010-05-24T08:06:36.553 に答える