49759


お世話になります。

MailKitを使ってGmailにメールを送信するアプリを作っているのですが、Azure App Service on Linuxで動作しません。Azure
App
ServiceのWindowsでは動作するので困っています。条件としましては、Gmail側のセキュリティレベルを下げない方向で進めたいと思っています。また、OAuthの情報もあったのですが、Windowsで動作しているのでそこらへんは影響がないと思っています。お手数おかけしますがご教授お願いいたします。

以下に情報を載せておきます。

**Gmail**  
２段階認証のパスワード発行済み

**メール送信情報**

[code]

    Host = "smtp.gmail.com";
    Port = 587;
    UserName = メールアドレス
    PassWord = ２段階認証で発行したパスワード
    
[/code]

**ソースコード**

[code]

    var emailMessage = new MimeMessage ();
    
    emailMessage.From.Add (new MailboxAddress (UserName, From));
    
    emailMessage.To.Add (new MailboxAddress (To));
    
    emailMessage.Subject = Subject;
    
    emailMessage.Body = new TextPart ("plain") { Text = Body };
    
    using (var client = new SmtpClient ()) {
    
    
        await client.ConnectAsync (Host, Port, SecureSocketOptions.StartTls);
        await client.AuthenticateAsync (UserName, PassWord);
        await client.SendAsync (emailMessage);
        await client.DisconnectAsync (true);
    }
    
[/code]

**スタックトレース**

[code]

    MailKit.Security.AuthenticationException: AuthenticationMechanismTooWeak: 5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgn
    sbuI
    5.7.14 3AKy1Iwk847IsaZtJndAdUUVoKz9dQM_63FknYiAi78f5TvEKQtOhEdSMaNLPhYgNPlsXu
    5.7.14 rdwyBSf2LzU8FjqJL_4FSQ5wbMuy_xM5wL3utr1ZYTj28c2NwWUtjF1iGxpFPe6xvWzDsr
    5.7.14 MpmoyfFLllCmCS8N9c2uvD8brZ47n4F3k0ig5NpdgUHUJjYjED4HM5qw3BAZzqMJgwomaX
    5.7.14 Q1UVXGmGSrhnK7EkHNzTuRXh7JF8uflp-RRhBV__iZRXPw-F6M> Please log in via
    5.7.14 your web browser and then try again.
    5.7.14  Learn more at
    5.7.14  https://support.google.com/mail/answer/78754 g123-v6sm35799149pfc.67 - gsmtp ---> MailKit.Net.Smtp.SmtpCommandException: 5.7.14 <https://ac
    counts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbuI
    5.7.14 3AKy1Iwk847IsaZtJndAdUUVoKz9dQM_63FknYiAi78f5TvEKQtOhEdSMaNLPhYgNPlsXu
    5.7.14 rdwyBSf2LzU8FjqJL_4FSQ5wbMuy_xM5wL3utr1ZYTj28c2NwWUtjF1iGxpFPe6xvWzDsr
    5.7.14 MpmoyfFLllCmCS8N9c2uvD8brZ47n4F3k0ig5NpdgUHUJjYjED4HM5qw3BAZzqMJgwomaX
    5.7.14 Q1UVXGmGSrhnK7EkHNzTuRXh7JF8uflp-RRhBV__iZRXPw-F6M> Please log in via
    5.7.14 your web browser and then try again.
    5.7.14  Learn more at
    5.7.14  https://support.google.com/mail/answer/78754 g123-v6sm35799149pfc.67 - gsmtp
       --- End of inner exception stack trace ---
       at MailKit.Net.Smtp.SmtpClient.AuthenticateAsync(Encoding encoding, ICredentials credentials, Boolean doAsync, CancellationToken cancellationTok
    en)
    
[/code]


CC BY-SA 4.0
2018-10-13T04:32:07.117
49239
2018-10-29T07:25:04.870
2018-10-16T15:46:21.633
2376
24385
question
c# linux azure gmail
Azure App Service on LinuxでGmailにメールが送信出来ない


おそらくAzureが25ポートをブロックしたことによってメール送信できなかったことが考えられました。`ServicePointManager.ServerCertificateValidationCallback`で回避すると送信可能なので  
<https://blogs.technet.microsoft.com/jpaztech/2017/11/16/smtp-block-
announcement-november-2017/>

なので最終的にはSendGridを使い、APIを投げることでメール送信を実現するように変更しました。公式でもSendGridなどのメール配信サービスを利用することが推奨されています。


CC BY-SA 4.0
2018-10-29T07:25:04.870
49759
2018-10-29T07:25:04.870
24385
49239
answer