Qiita Conference 2025

徳丸浩 (@ockeghem)

60歳を超えて現役エンジニアであり続けるために心がけていること

7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PHPMailerを使うときに気をつけたほうがいいこと

Last updated at Posted at 2017-09-15

特定の宛先で送信エラーになってしまい、一瞬ポルナレフ状態に陥ったので共有です。
今回使用したPHPMailerのバージョンは5.2.23です。

結論

宛先がRFCで認められていない形式のメールアドレスの場合、送信エラーになる
無事送信できるようにするためには、バリデーションを緩くする必要がある

RFCで認められていない形式のメールアドレスってどんなの?

docomo, au, Softbankでは、以下のような形式のメールアドレスの取得を以前許可していたらしい

@ の直前にピリオド (.) があるメール アドレス : xxxx.@xxxxxx
@ より前で、ピリオド (.) が連続しているメール アドレス : xx..xx@xxxxxx

対処法

バリデーション処理を修正

PHPMailer/class.phpmailer.php
public static $validator = 'auto';

PHPMailer/class.phpmailer.php
public static $validator = 'noregex';

PHPMailer::validateAddress内で$validatorの値によってメールアドレスの形式チェックを分岐させている
最も緩い形式チェックをするモードに指定した

RFCで認められていない形式のメールアドレスの場合、@ 以前を“”(ダブルクォート)でくくって
メール送信してくれるみたい

解決!

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Qiita Conference 2025 will be held!: 4/23(wed) - 4/25(Fri)

Qiita Conference is the largest tech conference in Qiita!

Keynote Speaker

ymrl、Masanobu Naruse, Takeshi Kano, Junichi Ito, uhyo, Hiroshi Tokumaru, MinoDriven, Minorun, Hiroyuki Sakuraba, tenntenn, drken, konifar

View event details
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?