2016-12-27 21 views
0

私はASP.Net Coreで働いていて、Gmailからsmtpクライアントを使ってメールを送信しようとしています。次のコードを持っているが、それはエラーにメールをSMTP経由でGmailに送信

System.NotSupportedException次thorws は同様に、以下の記事を見たことがありますが、それは http://dotnetthoughts.net/how-to-send-emails-from-aspnet-core/

動作しない機能していないです:SMTPサーバが認証

をサポートしていませんが
var emailMessage = new MimeMessage(); 
emailMessage.From.Add(new MailboxAddress("From Name", "[email protected]")); 
emailMessage.To.Add(new MailboxAddress("To Name", "[email protected]")); 
emailMessage.Subject = subject; 

var bodyBuilder = new BodyBuilder(); 
bodyBuilder.HtmlBody = message; 
emailMessage.Body = bodyBuilder.ToMessageBody(); 

var client = new SmtpClient(); 
try 
{ 
    await client.ConnectAsync("smtp.gmail.com", 25, SecureSocketOptions.None).ConfigureAwait(false); 
    client.AuthenticationMechanisms.Remove("XOAUTH2"); 
    await client.AuthenticateAsync("[email protected]", "fromPassword"); //error occurs here 

    await client.SendAsync(emailMessage).ConfigureAwait(false); 
    await client.DisconnectAsync(true); 
    await client.DisconnectAsync(true).ConfigureAwait(false); 
} 
catch(Exception e) 
{ 

} 
+3

例でポート587が表示されているときに、ポート25を使用しているのはなぜですか? – mason

+0

@mason pointが正しいです。私たちは587または465のポートIDをgmail smtp!で使うことができます。私はなぜあなたが25を使用しているのか分かりません。 – RajeeshMenoth

答えて

0

NotSupportedExceptionは、SSL/TLS接続を使用せずに認証をサポートしないため、NotSupportedExceptionがスローされます。暗号化されていないパスワードベースの認証メカニズムのみをサポートします。

私はこのような接続をお勧めします:

client.ConnectAsync("smtp.gmail.com", 587, SecureSocketOptions.StartTls) 

役に立てば幸いです。

関連する問題