いつかきっと役に立つ

Posts Tagged ‘メール

え~、会員DBからデータを取り出してきましてね、任意の会員にメールを一斉に送るっちゅのをPHPで書きましてね。…これがなかなかうまくいかんのですよ(-“-;)auだけ文字化けする♂文字コードはいろんなの試したんスがね、そしたら今度はsoftbankが化けしたり、pcが化けたり、、、ギブ寸前。。。subjectはISO-2022-JPに、本文はSJISにすると良いなんてことをある方から教わりましたんですが、、、softbank3GはUTF-8とか、まためんどうなことになりましてね。これはDBまたいじんなきゃいけないって事態にまでなったんスが。。。なにか根本的に間違ってるんではないかと。考えましてね。

で、見つけた。

マイムには文字長制限がある

$to = "$_REQUEST['$email']";
$from = "info@aaa.bbb";
$subject = "テスト送信";
$message = "テストメールです" .
$headers ='From: '. $from . "\r\n"
.'MIME-Version: 1.0' . "\r\n"
.'Content-Type: text/plain; charset=iso-2022-jp' . "\r\n"
.'Content-Transfer-Encoding:7bit' . "\r\n"
.'X-Mailer: PHP/' . phpversion();

$subject =conv_auto_mime($subject);
$message=mb_convert_encoding($message, ‘JIS’,’EUC-JP’);

if(mail($to, $subject, $message, $headers)==TRUE)
print(“メールを送信しました”);
else print(“メール送信に失敗しました”);

function conv_auto_mime($str){
$pos = 0;
$str=mb_convert_encoding($str,”JIS”,”EUC-JP”);
while ($pos < mb_strlen($str, “JIS”)){
$output = mb_strimwidth($str,$pos,36,””,”JIS”);
$pos += mb_strlen($output, “JIS”);
$TempStr .=(($TempStr)?” “:””).”=?ISO-2022-JP?B?”.base64_encode($output).”?=”;
}
return $TempStr;
}
?>
要するにこういうこと?みたいスがね、なぜか途中で止まるみたいな。。。$headersの次の行あたりが悪いっちゅことだったんで、ヘッダの書き方がおかしいのか♂

で、また見つけた。

PHPからメールを送信する

ここの最後のとこのをべっと貼ってみる。

$headers = "MIME-Version: 1.0\r\n"
. "Content-Transfer-Encoding: 7bit\r\n"
. "Content-Type: text/plain; charset=ISO-2022-JP\r\n"
. "Message-Id: <" . md5(uniqid(microtime())) . "@example1.jp>\r\n"
. "From: Hamaco \r\n";

うん。なんだかうまくいったようですな。何がちがうのかはさっぱり。。。あとは別機種とかで動作確認できれば。へ~~~~っ。うまくいくといいな~~~。。

広告
タグ: ,

ろぐカレンダ

2017年12月
« 7月    
 12
3456789
10111213141516
17181920212223
24252627282930
31  

進行中のミッション

【鹿角の文化財級建築物を調査せよ!】

Flickr Photos:canon

Blog Stats

  • 124,336 hits