現在1万人のメール登録会員がいます。
会員向けに週2回程度メールを一斉配信しなければならなくなったのですが、方法がわからず苦戦してます。このままでは、落ち着いて夜も眠れません。
皆様のご協力を、よろしくお願いします。
現在、celeron2.5GHz 512MBでOSがLinuxの専用サーバを使用しております。
使用可能なソフトは、PHP、sendmail、MySQLです。この3つに関しては中級程度の知識があり、それなりに使いこなせます。
はじめは、1万件のメールアドレスをMySQLに登録、PHPでfor文を使いデータベースから1件ずつアドレスを抽出、sendmailで送信、というプログラムを単純に1万回繰り返せばよいと思ったのですが、いろいろ調べているうちに不安になってきました。
メールが送れたかどうかの確認がとれないことや、命令文が途中で止まってしまってもわからないこと、サーバーへの負荷(メール専用ではないので)、セキュリティーの問題などが心配です。
あと、会員の8割は携帯のメールアドレスです。これも心配の種です。
対処方法として考えられるのは、
1.専門のメール配信代行業者に依頼する
2.自前のサーバで堅牢なシステムを構築する
だと思うのですが、
1の場合、会員登録の画面や登録内容など、細かい仕様を変更できるところがあるのでしょうか。
2の場合、このサーバのシステム構成で一斉メール配信が可能でしょうか。
また、可能であればどのようなソフトと仕組みを使えばよいのでしょうか。
ご教授のほどを、よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
>1,サーバの負荷
>2.時間
>の目安は、どんな感じなのでしょうか。
およそ2000件強のメールを送るのは、「DBから抜き出し」「1件毎に送信」で4、5秒程でしょうか。
負荷はわかりません。送信専用サーバーではないですが、その間に極端に負荷などかかったことはありません。
サーバーのスペックにもよるでしょうが、あなたのスペックであれば問題ないと思います。
メール送信より1万件のSQLでのSELECTのほうが負荷が大きいと思いますよ(笑)
>あと、gentaroさんの場合、2500件全てメールが送られた>事をどのように確認していますでしょうか。
送られたことの確認に関しては、
Return path や Error To に指定した自分のメールに何も返ってきていないこと、DBの中に自分のメアドも数件含めていますので、そこにちゃんとメールが送られてくること、ですかね。あと、DBのテーブルに、最終送信日付を入れていますので、やろうと思えばこれで確認もできます。
丁寧にありがとうございます。
2000件のメールを送るのに4、5秒程度とは、速いですね。
メールの確認の仕方も、参考になります。
もう少しいろいろな角度の回答を待ってみたいと思います。
(ポイントは後でお付けいたします。)
No.3
- 回答日時:
mb_send_mailなどで送信して、戻り値True、Falseで判断すればよろしいんじゃないでしょうか?
2500件程度の一括送信なら、現在何度も行っています。
詳しくはありませんが、たぶんsendmailは一度送信データをキューに貯めるはずですので、処理が追いつかないということはないと思いますよ。
テストが心配なら、ご自分のメアドを数千件登録して、実際に送信、受信した数と合わせてみてはどうですか?
この回答への補足
ご回答、ありがとうございます。
おかげさまで、だんだん解ってきました。
mb_send_mailの戻り値で判別すればよいわけですね。
できれば下記の事もお教え願えないでしょうか。
実際、送信データをキューに貯めて1万件のメールを送るのにかかる
1,サーバの負荷
2.時間
の目安は、どんな感じなのでしょうか。
あと、gentaroさんの場合、2500件全てメールが送られた事をどのように確認していますでしょうか。
よろしくお願いします。
No.2
- 回答日時:
何万何十万件もの膨大なメールを送信したことがないので確実なアドバイスではありませんが、その程度であれば問題ない気がします。
1万回繰り返すのが不安であれば、時間差で500件程度に区切って送る、ではどうですか?
送信失敗時のことが心配なら、テーブルに送信日時の項目作って、送信の度に更新していけば、後で結果わかりますよね。
専用サーバーですから、その程度の抽出、送信は負荷の心配もないでしょう。
携帯ユーザはメアドの変更が頻繁ですから、そのメンテナンスが一番大変な作業だと思います。
セキュリティとは例えばメアドが外部に漏れる、ということですか?個人の実名や住所ではないですから、しっかりとしたサーバー管理とDBのセキュリティを考えてシステムを作ればいいと考えますが。どのみちWebサーバーにデータを置くということは100%の安全はありませんし。
この回答への補足
早速のご回答、ありがとうございます。
もう少し教えてください。
送信の度に更新というのは、sendmailの場合、どうやって送れたかを確認すればよいのでしょうか。
PHPでメールヘッダを付けて送信するタイミングでで更新するんでしょうか?
あと、心配なのはfor文の処理が速すぎてメールを送る処理が追いつかなくなり、サーバに不具合が出るということは無いんですか?
実際に試そうにも、全会員に送ることもできないので。
すみませんが、よろしくお願いします。
いろいろとご説明いただき、助かりました。
教えていただいたことを参考に、プログラムを組み立てたいと思います。
また、機会があったらご指導ください。
ありがとうございました。
No.1
- 回答日時:
なんかSpam業者のような気がするんですが・・・
過去の質問にも類似のものがあるので、参考にしてください。
参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=1277089
この回答への補足
早速のご回答、ありがとうございます。
それにしても、Spamとはひどい言い方ですね。
ちゃんと合法的に会員登録していただいた方が対象となっております。
過去の記事は既に読んでおりますし、未だわからないので質問させていただきました。
趣味ではなく企業としてのメール配信で、個人レベルの問題ではないので、苦しんでいるのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
他人のアドレスでメールってで...
-
bccで一括送信した先を印刷する...
-
メールが送信できません
-
Windows LiveメールにてVBAマク...
-
社内ネットワークの1台だけ接...
-
インターフェースサーバーとは...
-
ネットワーク上のRPSってなんな...
-
UNIXサーバを跨いだリンク
-
ftpコマンドのput,mputの上書き...
-
エックスサーバーでhttpd.conf...
-
サンダーバードを複数のPCで...
-
ipconfigで、DNSが複数みえる
-
「サーバーにメッセージのコピ...
-
FTPサーバーへのアップロードの...
-
【minecraft】サーバーに接続で...
-
パス区切り文字(¥と/)
-
Samba + WinXP で「ローカルデ...
-
サーバーの中身は見られますか?
-
Excelシート / ハイパーリンク ...
-
一つのドメインを複数のレンタ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
他人のアドレスでメールってで...
-
メールが送信できません
-
comcast.net にメール送信できない
-
bccで一括送信した先を印刷する...
-
停電のお知らせメール送信がで...
-
メールのヘッダで遅延の原因と...
-
SMTP(スマートホスト)
-
Mail Distributorで1000件程送...
-
Windows LiveメールにてVBAマク...
-
Windowsメールサーバー 踏み台...
-
1万人規模の一斉メール配信の方法
-
パソコンの使用状態を数日前に...
-
社内ネットワークの1台だけ接...
-
学校のWiFiに繋げると履歴が見...
-
インターフェースサーバーとは...
-
ネットワーク上のRPSってなんな...
-
Excelシート / ハイパーリンク ...
-
ftpコマンドのput,mputの上書き...
-
インストールしたてのVirtualBo...
-
【PC】TerrariaのtModLoaderサ...
おすすめ情報