メール送信用に次のものがありましたが、うまくいきました:
private SmtpClient _client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential("address@gmail.com", "password"),
EnableSsl = true
};
public void DoThis(){
_client.Send("from@gmail.com", to.Email, "Subject", "Body");}
public void DoThat(){
_client.Send("from@gmail.com", to.Email, "Subject", "Body");}
しかし、メールが送信されるまで Web アプリケーションをブロックしていたので、非同期で送信してみることにしました。
public void DoThis(){
var message = new MailMessage("from@gmail.com", to.Email, "Subject", "Body");
_client.SendAsync(message, null);
}
デバッグすると非同期に処理されることがわかりますが、常に次のようになります。
非同期操作がまだ保留中に、非同期モジュールまたはハンドラーが完了しました。
私は何を間違っていますか?