よそのシステム会社から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' ,"" ); // 送信元ユーザー