phpで一斉メールを送ろうと思っています。
お名前コムの共有サーバーを使っています、下記テストで30人ほどに一斉送信を繰り返したところ
一度負荷がかかり過ぎという事で制限をされた際に、
それに気が付かずエラーかと思っていじっっていたらおかしくなりました・・・。
現状で送るとガラケーで本文が文字化けします。
(一度はここまではできていました)
また、ブルーメールというAndroidのアプリでは件名が文字化けします。
この問題の解決で、いろいろいじりすぎて何が何だかわからなくなってしまいました。
どなたかご教授頂けると幸いです。
<?php mb_language('ja'); mb_internal_encoding("UTF-8"); // 本文 $message = ' <html> <head> <title>お知らせ一覧</title> </head> <body> <p>各位<br> 事務局です、一斉送信にてメールをお送りしています。</p> <p>研修サイトのお知らせが更新されました。<br> 事務局からの大切なお知らせですので確認してください。</p> <p><a href="https://" title="お知らせ一覧">お知らせ一覧</a></p> </body> </html> '; $message = wordwrap($message, 70, "\r\n"); //headerを設定 $headers[] = 'MIME-Version: 1.0'; $headers[] = 'Content-Type: text/html; charset="ISO-2022-JP"'; // 追加のヘッダ $from = mb_encode_mimeheader("送信者名","iso-2022-jp")." <AAAAAAA@AAAAA.com>"; $headers[] .= "From: ".$from." \r\n"; // 表題 $subject = 'お知らせ更新'; $subject = mb_convert_encoding($subject,'utf-8',mb_detect_encoding($subject)); $subject = mb_encode_mimeheader($subject,'iso-2022-jp'); // 送信する mail($to, $subject, $message, implode("\r\n", $headers)); ?>
共有サーバーには1日の送信数など容量に制限があるので利用には注意してください。おおよそ一斉送信のような仕組みを組みたいときには向きません。
ご回答ありがとうございます、やはり共有サーバーでは無理があるのでしょうか?
そうですね。やはり共有なので負荷がかかるような処理は制限がかかっていることが多いです。1日のメール送信制限やアップロードの制限など。同じサーバー内の別の人に迷惑がかかりますからね。その辺りは共有サーバーなので仕方ないです。その制限内でおさまるようにするか、専用サーバーをご検討ください。
お名前コムは同時に30アドレス以上だと制限されて、解除は電話でお願いをして解除してもらえましたが、2回目は解除できませんとの事でした。予算の関係でこの共有サーバーにされているのでどうにもならないのですが、考えてみます。ありがとうございました!
まだ質問が「受付中」になっていますが、「ベストアンサー」を選び「解決済」にされてはいかがでしょうか。
ご指摘ありがとうございます。解決済みにさせていただきました。
回答3件
あなたの回答
tips
プレビュー