2011-09-14 30 views
0

私は自分のウェブサイト上のすべてのユーザーのメールアドレスを保持しているMySQLデータベースを持っています。 それぞれに電子メールを送信するにはどうすればよいですか?DBから電子メールを送信

私はPHPが少し遅いと思います。私はCGIスクリプトを試しましたが、失敗しました(いくつかの電子メールを送信してからxDがついてしまいました)。

"有用な" PHPのみのソリューションはありますか?私は300users atmしか持っていないが、私はスクリプトを10.000ユーザーのように働かせたい。

私はSwiftMailerについて聞いたことがありますが、私は自分のスクリプトを作成して動作させることができるかどうかを知りたいのです。

+1

はいできます。 DBに接続し、メールアドレスを取得し、ループを回り、mail()関数を使用します。シンプル。 –

+4

"私はPHPが少し遅いと思う"もう一度推測する。 :-)遭遇する正確な問題は何ですか?私はPHPアプリケーションが問題なく何千ものメールを送信するのを見ました。 – CodeCaster

+2

一度に10000(あるいはおそらくちょうど300)の電子メールを送信すると、おそらくスパマーとしてフラグが立てられます。 [この記事を読む](http://www.emailaddressmanager.com/email-marketing/bulk-email-software.html)を参照してください。 – DaveRandom

答えて

3

ホイールを再作成しないでください。 SwiftMailerは使いやすく、拡張性があり、非常にカスタマイズ可能です。また、抑制とアンチフロッディングのための考慮事項があります。

+0

私はそれを使用しようとしますが、 pretty big ... :( – Cristy

+0

それほど悪くはありません;ドキュメンテーションページには、あなたが今までにやりたいと思っていたことを何とかするためのコードサンプルを段階的に説明しています。 – wanovak

1

タイムアウトの問題(mail()関数が実際に遅い場合)は、通常、サーバーに小さなスライス(たとえば10行)を一度に実行させるためにajaxを使用します。また、ファイル全体の処理にどれだけの距離があるかについてのフィードバックも提供します。その後の各Ajax呼び出しは、サーバーにどの行を開始するかを指示します。10はブラウザ/ javascriptに成功/失敗を返し、別のAjax要求を送信して別の10を繰り返します。

+0

実際これは良い考えです:)。これは解決策、ありがとうございます:D – Cristy

関連する問題