mb_send_mailとimap_mailについて

このQ&Aのポイント
  • 会員システムでの一括メール送信には、mb_send_mailとimap_mailの2つの方法がありますが、どちらが一般的なのでしょうか。
  • mb_send_mailを利用する場合、to引数をループで処理することで複数のメールを送信することが可能です。
  • 一方、imap_mailではto引数に任意のアドレスを指定し、bcc引数に100件のアドレスを連結して指定することで一括送信ができます。mixiではmb_send_mailを使用しているようです。
回答を見る
  • ベストアンサー

mb_send_mailとimap_mailについて

こんばんは、質問させて下さい。 現在会員システムを構築しておりまして、会員に一括してメールを送信する機能を考えております。 仮に100名にメールを送信すると想定しまして 1. 「mb_send_mail」の第1引数(to)をループで入れ替えて「mb_send_mail」を100回実行する 2. 「imap_mail」の第1引数(to)に任意のアドレスを指定し、第6引数(bcc)に100コのアドレスをつなげて指定し「imap_mail」を1回実行する のどちらが一般的なのでしょうか。 ※ちなみにmixiでは「1.」を採用しているようです。 それでは宜しくお願い致します。

  • PHP
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • fire--
  • ベストアンサー率49% (146/293)
回答No.1

これはケース次第ではないでしょうか。 単純100通だすだけなら、2.のほうがパフォーマンスが良いと思います。 しかし、mixiから来るメールを見ると内容に宛先の名前とかハンドルが 入ってますので、2.の方法では無理ですね。

関連するQ&A

  • mb_send_mailで複数宛てにtoで送信

    mb_send_mailでbccではなくtoで複数アドレスへ送信したいのですが、メールを受け取った人が他人のアドレスが見えない状態で送信したいです。 カンマで区切った複数アドレスをtoに指定してしまうと他人のアドレスが丸見えですよね? この場合、mb_send_mailをアドレス数分だけループさせて送信するしかないのでしょうか? その場合、100件くらいならsleepさせずにループで100回送信しても問題ないのでしょうか? メールの容量は非常に小さいです。 共用レンタルサーバーでの運用です。 どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • mb_send_mailでのメール送信

    会員制サイト内で各種メールの送信にmb_send_mail関数を使用しています。 会員登録の際に、登録申込者側にメールが送信されない事例が何件か発生しており、原因究明中です。 以下、メール送信関数の部分です。 $mail_to = 送信先アドレス $mail_subj = タイトル $mail_comm = 本文 $mail_from = "From: ".送信元アドレス mb_internal_encoding("sjis"); mb_language("Japanese"); mb_send_mail($mail_to,$mail_subj,$mail_comm,$mail_from); 考えられる原因は何があるでしょうか。どなたか詳しい方、回答宜しくお願いします。

    • 締切済み
    • PHP
  • mb_send_mail()が使えない

    WebからPHPのmb_send_mail関数を使用してメールを送信しようとしていますが、なぜか送信されません。 原因についてお分かりになればお教えください。 また、下記以外に必要な情報があればお教えください。 コマンドライン上でのmailコマンドによるメール送信は可能な状態です。 sendmailの代わりにqmailをインストールしているため、/usr/sbin/sendmailから/var/qmail/bin/sendmailへシンボリックリンクを貼っています。 また、PHPのmail()は"Call to undefined function: mail()"エラーとなりますが、mb_send_mail()ではエラーが発生しません。 ●OS:TurboLinux7 ●言語:PHP4.3.3 ●phpのconfigure時のオプション:  ./configure --with-apxs=/usr/sbin/apxs \  --enable-mbstring ●/usr/local/lib/php.iniのsendmail_path設定:  sendmail_path = /var/qmail/bin/sendmail ●テスト用PHPのソース(実行すると常に「メール送信エラー」になります) <?php $ans = mb_send_mail("メールアドレス","件名","本文"); if ($ans) { print "<P>メール送信完了</P>"; } else { print "<P>メール送信エラー</P>"; } ?>

    • ベストアンサー
    • PHP
  • mb_send_mail()でメール送信できるときとできないときがあります

    mb_send_mail()の第3引数のメール本文の部分の値によってメールが送信できないことがあります。 戻り値はTRUEなので、正確には送信されているのかもしれませんがメールは届いていない状態です。 戻り値がTRUEなのにメールが届かないということはどういうことが考えられるのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • mb_send_mail()に関しまして

    初めて投稿させて頂きます。 PHPを触り始めて間もない者ですが、よろしくお願い致します。 現在、PHPの勉強を兼ねまして空メールを送るプログラムを作成しております。 フォームにボタンを1つ設け、そのボタンを押下すると指定のあて先に空メールを送るという簡単なものです。 【html内のボタンの設定】 <form name="top" method="post" action="a.php"> <input type="submit" value="空メールを送る"/> </form> 【a.php(正しく送れたかを知るためにメッセージを表示するようにしてあります)】 <html> <head> PHPメールテスト送信 </head> <body> <? $address = '送信先メールアドレス'; $subject = ''; $message = 'PHPからのテストメール'; $header = "Content-Type: text/plain;charset=iso-2022-jp"; mb_language("Japanese"); if(mb_send_mail($address,$subject, mb_convert_encoding($message,"JIS","EUC-JP"),$header))←エラー行 { print("送信成功!!"); } else { print("エラー:送信失敗!!"); } ?> </body> </html> このプログラムを実行すると以下のエラーが発生します。 Warning: mb_send_mail() [function.mb-send-mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Program Files\xampp\htdocs\top.php on line 15 参考書を見ながらプログラムを作成したのですが、記述、もしくは設定が関係しているのでしょうか。 分かる方には非常にくだらないことかもしれませんが、ご教授お願い致します。

    • 締切済み
    • PHP
  • mb_send_mailについて

    mb_send_mailで送信する時に、 oct.zaq.ne.jpのドメインには何度やってもメールが送信出来ません。 また、違うドメインにメールを送信した場合でも、100回に一度は文字化けしてるときがあります。 サーバはロリポップなのですが、 考えられる事項を教えて頂けないでしょうか? どうか、宜しくお願い致します。

    • ベストアンサー
    • PHP
  • mb_send_mailについて

    mb_send_mailにてメール送信をしようとしています。 mb_send_mail(宛先, タイトル, メール内容, 送信者) として送信するのですが、メールの内容に以下のヘッダー情報が付加されてしまいます。 aaa@bbb.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit ~以下メール内容~ これらを表示させない方法は無いのでしょうか?

    • 締切済み
    • PHP
  • mb_send_mail sendmailについて

    PHPが使える無料レンタルサーバーで会員管理画面を作ろうとしているものです。だいぶ完成してきて、残りは登録した人に会員登録したことをメールで自動送信することができるようになれば完成というところまできました。無料レンタルサーバーの利用についての説明の中ではsendmailは利用可となっています。私はメール送信のプログラムを作ったことがないので、しきりに本を読みながら悪戦苦闘しております。本の中のサンプルを参考に下のようなソースを書いて、テストしていますがダメでした。 $mailto="*****@***.biglobe.ne.jp"; $mailsbj="新規登録"; $mailbody="登録者ができました"; $mailheader="From:****@yahoo.co.jp\nReply-To:*****@***.biglobe.ne.jp\nX-Mailer:phpversion();" mb_language("ja"); if(mb_send_mail($mailto,$mailsbj,$mailbody,$mailheader)){ echo "メールの送信に成功"; } else{ echo "メール送信失敗"; } 利用している無料レンタルサーバ内のsendmailの説明の中には sendmailのパス:/usr/lib/sendmail と記入されています。 web上で色々調べてみましたが、どうも今一よくわかりませんでした。mb_send_mailは使えないと言うことでしょうか? もし、sendmailを使用してメール送信をする場合にはどんなソースを書けばよいのでしょうか。 どなたかご指導宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • mb_send_mailで文字化け

    Windows環境でmb_send_mailを使い、メール送信のテスト を行っています。 文字コードの変換周りで、いろいろ試しているのですが、 うまくいきません。 Apache + PHP (Window)  ↓ メールサーバー(RedHat)  ↓ メール受信(Window) 上記の環境で、文字化けしないで、 メール送信するには、どうしたら良いのでしょうか? (コーディング例) mb_send_mail( $address, mb_convert_encoding($subject,"EUC-JP"), mb_convert_encoding($message,"SJIS"))

    • 締切済み
    • PHP
  • mb_send_mailでメール送信すると文字化けします

    mb_send_mailを使って、 mb_send_mail($_POST[cmail], $subject, $mailmsg, $header); で送信すると文字化けします。 お願い申し上げますが、お願い垂?上げます。になってしまいます。 一応、 mb_language('Japanese'); mb_internal_encoding("SJIS"); をmb_send_mailの前に指定してあるのですが。 原因が分からないので、何方か分かる方は、ご教授お願いします。

    • ベストアンサー
    • PHP