PHPのmail-functionを使ってメールを送りたい。「FROM」-ヘッダーの一部には、スペースを含む名前を含める必要があります
name with space <mail@server.tld>
残念ながら、一部のメールクライアントはスペースを処理できません。そのため、たとえばThunderbirdは名前に引用符を追加します。
"name with space" <mail@server.tld>
ÄÖÜのような特殊文字を追加するまでは、エンコードする必要があるため、これは問題なく機能します。以下は機能しません:
"name with ÄÖÜ and space" <mail@server.tld>
だから私はその機能を試しましたmb_encode_mimeheader
echo mb_encode_mimeheader("name with"." ÄÖÜ"." and space", "ISO-8859-1", "Q");
# result:
# name with =?ISO-8859-1?Q?=C3=84=C3=96=C3=9C=20and=20space?=
特殊文字が最初に出現する前は、スペースがまだ文字列内にあるため、これはまだ機能しません。正しい結果は次のようになります。
=?ISO-8859-1?Q?name=20with=20=C3=84=C3=96=C3=9C=20and=20space?=
これを処理できるPHPの関数はありますか?または、引用符と「mb_encode_mimeheader」を組み合わせて使用する必要がありますか?または、メールヘッダーのスペースを処理する別の方法はありますか?正直なところ、RFC822で言及されているさまざまな空白の意味を理解していませんでした。