fsockopenでマルチバイトなメール送信

2008/07/08 | PHPの基本

基本的にメール送信はmb_send_mailを使っているが、いろんな事情でfsockopenによるメール送信を実現しなければならないときがある。それでも、マルチバイトなメール送信でない場合は、何も気にしなくてもスムーズにいくが、マルチバイトなメール送信となると、文字化け問題が常につきまとう。
今回fsockopenでマルチバイトなメール送信プログラムを書いたときに、文字化けせずに送信できたので、その例をメモしておく。

■タイトル
$subj=mb_convert_encoding($subj,’JIS’,’(元のエンコーディング)’);
$subj=mb_encode_mimeheader($subj,’JIS’,’B’);

■本文
$body=mb_convert_encoding($body,’JIS’,’(元のエンコーディング)’);

よく調べてないけれど、タイトルはいったんJISに変換してからmb_encode_mimeheader。本文はJISに変換するだけでいい。

結果オーライということで。

コメントを残す


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net