PHPMailer で Data not accepted.

投稿者: | 2020年3月17日

よそのシステム会社からPHPMailerでOffice365に送信しようとすると、「Data not accepted.」というエラーがでるのだが原因がわからないかとの問い合わせがありました。
検索してみたところ下記のようなページを見つけました。

https://stackoverflow.com/questions/15880042/phpmailer-the-following-smtp-error-data-not-accepted

どうもSMTP認証するユーザーと、Fromにセットする送信元ユーザーが異なるとこのエラーが発生するようです。
そのことを先方に伝えたところ、下記のようにコーディングしたところうまくいったようです。

$mail = new PHPMailer();
$mail->IsSMTP(); 
$mail->SMTPAuth = TRUE;
$mail->Host = 'smtp.office365.com:587';
$mail->Username = 'aaa@bbb.com';  // 認証ユーザー
$mail->Password = '***';
$mail->SMTPSecure = 'ssl'; 

$mail->SetFrom( 'aaa@bbb.com' ,"" );  // 送信元ユーザー