前提
アプリケーション(VB.net)でデータを登録すると登録者(from)から処理者(to)へ通知のためメール(outlook)を送信する仕組みがあります。
最近、登録をしてもメールが送信されていないとのことで問合せが有ったため対応をしています。
実現したいこと
①ユーザーにMS365のパスワードを入力させることなくメールをプログラム側で送信させたい(いまのところ、MS365のパスワードをユーザに公開していないため。)
or
②Teamsの個人チャットにメッセージを送信したい
該当のソース・エラーメッセージ
① ソース(vb.net)
Dim msg As New MailMessage msg.From = New MailAddress("登録者のメルアド") msg.To.Add(New MailAddress("処理者のメルアド")) msg.ReplyToList.Add(New MailAddress("登録者のメルアド")) msg.Sender = New MailAddress("登録者のメルアド") msg.Subject = "タイトル" msg.Body = "本文" msg.DeliveryNotificationOptions = DeliveryNotificationOptions.Delay Or DeliveryNotificationOptions.OnFailure Or DeliveryNotificationOptions.OnSuccess Dim sc As New SmtpClient sc.Host = "smtp.office365.com" sc.Port = 587 sc.Credentials = New Net.NetworkCredential("登録者のメルアド", "登録者のパスワード") sc.DeliveryMethod = SmtpDeliveryMethod.Network sc.EnableSsl = True sc.Send(msg) msg.Dispose() sc.Dispose()
エラーメッセージ
'SMTP サーバーにセキュリティで保護された接続が必要であるか、またはクライアントが認証されていません。 サーバーの応答:5.7.57 Client not authenticated to send mail. Error: 535 5.7.139 Authentication unsuccessful, the request did not meet the criteria to be authenticated successfully. Contact your administrator. [OSAPR01CA0300.jpnprd01.prod.outlook.com]'
試したこと
①アプリパスワードの設定が必要とググったサイトに書いてあったので、調べてみたのですが、
そちらは基本認証廃止とともに終了していたため試せませんでした。
また、MS365の管理センターから対象のユーザーで認証済みSMTPが有効になっていることを確認しています。
②グループには投稿できたのですが、出来ればそれ用のアカウントを作成して、そのアカウントから各個人にチャットを送信したいです。
そもそも基本認証が9月で廃止されるのは下記のサイトで把握はしていましたが、
SMTPについては影響ないと読み取っていたのですが間違いだったのでしょうか。それとも全く別の問題でしょうか。。。
Exchange Online での基本認証の廃止
有識者の皆様のお知恵を拝借できれば幸いです。
あなたの回答
tips
プレビュー