Drupal_mailを使用してメールを送信するときに、表示名(メールではない)の[宛先]フィールドにアポストロフィが含まれていると、エラーが発生します。
たとえば、 drupal_mail()のドキュメント を参照すると、「Another User <[email protected]>
"は有効です。" Another User <[email protected]>
"は完全に検証されますが、" Another O'Neil <[email protected]>
"は失敗します。
姓をオニールではなくオニールに変更する必要がありますか、それともなんとかしてエスケープできますか?
「"Another O'Neil" <[email protected]>
"成功しませんでした。
私はいくつかのことを想定しています:
RFC2822 を掘り下げると、エスケープとその他のいくつかの文字が見つかります。
ソリューションはそれ自体を
$to = "\"Another O'Neil\" <[email protected]>";
drupal_mail('contact', 'page_mail', $to, language_default(), $values, $from);
print $to; #=> "Another O'Neil" <[email protected]>