質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1846閲覧

PHPにて、Microsoft365を利用し、メールを送信する

masaki_survive

総合スコア5

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2023/05/08 08:08

編集2023/05/09 01:19

社内でMicrosoft365を使用する事となり、メールもoutlookを使用する事となるので、
今までありました、メールサーバーが無くなります。

社内のPHPのシステムから、メールを送信する処理をMicrosoft365を利用したメール送信に置き換える
作業をしていまして、詰まっております。

ソースコードとしては、

<?php // PHPMailerを読み込む use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; use PHPMailer\PHPMailer\SMTP; require './PHPMailer/PHPMailer/src/PHPMailer.php'; require './PHPMailer/PHPMailer/src/Exception.php'; require './PHPMailer/PHPMailer/src/SMTP.php'; // PHPMailerのインスタンスを作成する $mail = new PHPMailer(true); try { // SMTP設定 //Office365 認証情報 $host = 'smtp.office365.com'; $username = '********************'; $password = '************'; //差出人 $from = '*********'; $fromname = '******'; //宛先 $to = '******************'; $toname = '*************'; //件名・本文 $subject = '件名'; $body = '本文'; $mail->isSMTP(); $mail->SMTPDebug = 2; $mail->SMTPAuth = true; $mail->Host = $host; $mail->Username = $username; $mail->Password = $password; $mail->SMTPSecure = 'tls'; $mail->Port = 587; $mail->CharSet = "utf-8"; $mail->Encoding = "base64"; $mail->setFrom($from, $fromname); $mail->addAddress($to, $toname); $mail->Subject = $subject; $mail->Body = $body; // メール送信 $mail->send(); echo 'Message has been sent'; } catch (Exception $e) { echo '失敗: ', $mail->ErrorInfo; } ?>

となりまして、
エラーメッセージは
SERVER -> CLIENT: 535 5.7.139 Authentication unsuccessful, SmtpClientAuthentication is disabled for the Tenant. Visit https://aka.ms/smtp_auth_disabled for more information.
SMTP ERROR: Password command failed: 535 5.7.139 Authentication unsuccessful, SmtpClientAuthentication is disabled for the Tenant. Visit https://aka.ms/smtp_auth_disabled for more information.
SMTP Error: Could not authenticate.

となります。

調査ですが、
SMTP認証をオフになっていたのをオンにするとの事で、オンにしてみましたが、上手くいかず、
難航しております。

ご存知の方がおられましたら、ご教示いただけますと幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2023/05/08 08:53

コードはテキストで提示しましょう また、コードは質問を編集し、</>(コードの挿入)ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
tanat

2023/05/08 09:25

エラーメッセージ中の https://aka.ms/smtp_auth_disabled の内容は確認されましたか? もしまだなら、確認して、理解できない点を質問に追記されると解決が早くなると思います。
masaki_survive

2023/05/09 01:21

ソースをテキストで提示しております。 掲示板を使って、質問することに不慣れで申し訳ございませんでした。 以降、気を付けていきます。 エラーメッセージのhttps://aka.ms/smtp_auth_disabledを調べてみると、 SMPTの認証機能をONにしてみるとよいとの事で、試してみましたが、まだ認証が上手くいかず となっております。 引き続き、調査いたします。
guest

回答1

0

自己解決

自己解決できました。

PHPにてMS365からメールを送付するには、
・Azure ADでセキュリティの規定値を無効にする
・認証SMPTにチェックを入れる
で無事認証でき、メール送信できました。

質問方法等、今後、気を付けていこうと思います。
ご迷惑をおかけしました。

投稿2023/05/09 01:22

masaki_survive

総合スコア5

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問