特定の宛先で送信エラーになってしまい、一瞬ポルナレフ状態に陥ったので共有です。
今回使用したPHPMailerのバージョンは5.2.23です。
結論
宛先がRFCで認められていない形式のメールアドレスの場合、送信エラーになる
無事送信できるようにするためには、バリデーションを緩くする必要がある
RFCで認められていない形式のメールアドレスってどんなの?
docomo, au, Softbankでは、以下のような形式のメールアドレスの取得を以前許可していたらしい
@ の直前にピリオド (.) があるメール アドレス : xxxx.@xxxxxx
@ より前で、ピリオド (.) が連続しているメール アドレス : xx..xx@xxxxxx
対処法
バリデーション処理を修正
public static $validator = 'auto';
↓
public static $validator = 'noregex';
PHPMailer::validateAddress
内で$validator
の値によってメールアドレスの形式チェックを分岐させている
最も緩い形式チェックをするモードに指定した
RFCで認められていない形式のメールアドレスの場合、@ 以前を“”(ダブルクォート)でくくって
メール送信してくれるみたい
解決!