タグ

mb_encode_mimeheaderに関するlax34のブックマーク (2)

  • 【php】mail関数の改行コード注意点 at softelメモ

    PHPのmail関数、引数に渡すデータの改行コードに注意。 ヘッダが正しくないメールが生成されて、正常に読めないメールが送られたりする。 文 mail()関数に渡すときは、文はLFで改行するようにとマニュアルに書いてある。 自力でSMTPに直接渡すときなどはCRLFなのだけど(RFC2822参照)。 ヘッダー MTAにqmailを使用しているときは、subject(件名)の改行にはLFを使うこと。 つまり、 $subject = mb_encode_mimeheader('長い件名。長い件名。長い件名。長い件名。長い件名。', 'JIS', 'B', "\n"); subjectの改行は、長い件名のときに発生(RFC 2047)。件名が短いときは特に問題に気づかないと思う。こちらもインターネットメールの世界では改行はCRLFが原則。 まとめ mail()関数に渡すなら、 ・ 文はLF

    【php】mail関数の改行コード注意点 at softelメモ
  • ぱんぴーまっしぐら : mb_encode_mimeheader()の使い方

    mb_encode_mimeheader()は、mbstring.internal_encodingから第二引数の文字コード、またはmbstring.languageで指定した言語に合った文字コード(JapaneseならISO-2022-JP)に変換した上でbase64へエンコード、エンコード情報を付加します。 よって、レンタルサーバでphp.iniの設定が不十分な場合、個別に設定したい場合は、関数をコールする前にmb_language()、mb_internal_encoding()で値を設定する必要があります。 (かなり)よく見かけますが、第一引数に渡す文字列をISO-2022-JPへ変換する必要はありません。 正しくは必要がないのではなく、やってはいけません。 ダメ、絶対。 <?php mb_language('ja'); mb_internal_encoding('UTF-8');

  • 1