2017-05-23 12 views
0

私はDrupalのウェブサイトを持っており、カスタムモジュールでカスタムメニューを作成しました。バックグループプロセスで大量の電子メールを送信する方法

私は10000人のユーザーに異なるメールの挨拶線を送信する必要があります。私は、各ユーザーのプロファイル情報を取得して、各ユーザーに電子メールを送信しています。

しかし、問題は、要求を完了するのに時間がかかり、要求のタイムアウトエラーが発生することがあります。

私は数秒で応答を得ることができるような種類の機能が欲しいし、すべての電子メールはバックグラウンドプロセスで実行されます。

+0

mailchimpなどの外部サービスの利用について考えてみましょう。私はあなたのIPアドレスが非常に多くの電子メールを送信した後にブラックリストされることを恐れている... – MilanG

答えて

0

サーバー上の3/5/7などの分ごとに実行されるcronをセットアップする必要があります。その後、各実行で、重複を減らすようにフラグが設定されているユーザーは100,200,500人のユーザーに電子メールを送信できます。サーバーの実行時間に応じて、ユーザー数を選択できます。しかし、私は500が最初から良いいいえであり、10kのメールをすべて送信するにはわずか20回のcronが必要だと思います。

また、電子メールのスケジュール設定にmailchimp、sendgridなどのサードパーティサービスを使用することもできます。

希望すると助かります!

+0

しかし、私はメニューリンクを持っているので、これらの電子メールを手動でcron - 仕事なしで送信したいので、電子メール –

+0

を送信してください。その後、Drupal https://www.drupal.org/docs/7/api/batch-api/overviewで提供されているバッチAPIを使用してバッチ処理を使用してください。 – Anurag

+0

これを参照してください: "フォーム処理を複数のページ要求に分散できるようにする関数。これにより、PHPのタイムアウトのために処理が中断されないようにしながら、ユーザーは進行中の操作の進行状況に関するフィードバックを受け取ることができます。 – Anurag

関連する問題