mail();
PHP関数に奇妙な問題があります。
こんな感じで使う
$header = "MIME-Version: 1.0" . "\r\n";
$header .= "Content-type: text/html; charset=utf-8" . "\r\n";
$header .= "Content-Transfer-Encoding: quoted-printable" . "\r\n";
$header .= "Reply-To:" . $email . "\r\n";
$header .= "From: Kontaktformular <noreply@thomas-glaser-foto.de>" . "\r\n";
mail( "mail.me@mail.com", "Message from " . $name . " through your website!", $message, $header );
すべてが期待どおりに機能します。メールが送信され、すべてが正しくエンコードされ、件名も問題ありません。
しかし、次のように二重引用符を一重引用符で変更すると、次のようになります。
$header = 'MIME-Version: 1.0' . '\r\n';
$header .= 'Content-type: text/html; charset=utf-8' . '\r\n';
$header .= 'Content-Transfer-Encoding: quoted-printable' . '\r\n';
$header .= 'Reply-To:' . $email . '\r\n';
$header .= 'From: Kontaktformular <noreply@thomas-glaser-foto.de>' . '\r\n';
mail( 'mail.me@mail.com', 'Message from ' . $name . ' through your website!', $message, $header );
メールは引き続き送信されますが、件名は設定されていません。代わりに、それは
www-data@domain.com
特殊文字も破棄されます。そこで何が起こっているのですか?