CSVに約50000のアプリケーション名と電子メールアドレスを保存しています。50 000のすべての電子メールアドレスにメールを送信したいのですが、アプリケーションの名前もメールに含まれます。これには、CSVを最初にアップロードする必要があります。同様のシナリオを検索しましたが、答えが見つかりませんでした。
3 に答える
徐行!
50,000 は大規模な配布リストです。これは自分で行うこともできますが、既存のソフトウェアを使用して自分で行うことを強くお勧めします。さらに良いのは、ホストされたソリューションです。
これを自分で行う場合は、送信レートを調整する必要があります。平たく言うと、1 時間に約 11,000 ~ 20,000 件 (概算) を送信しますが、目標は 1 時間あたり最大 2,000 件にする必要があります。そうしないと、メール キューが過負荷になり、バウンスを処理できなくなり、すぐにブラックリストに登録されてしまい、それを解除するのに数日かかります。共有ホスティング アカウントを使用している場合は、1 時間あたり 1,000 にスロットルを戻します (または最初にホストでクリアします)。
一般的な「無料」のソリューションはhttp://www.phplist.comです(これが 1 回限りの場合は、ホストされたバージョンも提供されます)。また、ホストされたバージョンは、メール サーバーがスパムによってブロックされないことをより確実に提供します。
スロットリングを有効にするために独自にロールしている場合は、DBにアップロードし(他の回答を参照)、「送信済み」列を追加し、送信されていない10/20を毎分グラブし、送信済みとしてマークして送信します。次に、もう 1 分間待ってから繰り返します。これは、cron またはページの更新によって行うことができます。(PHP List がこれを処理します!)
しかし、このような大規模なもののために独自に開発するよりも、ホストされたソリューションまたは構造化されたソフトウェアを強くお勧めします。
PHP で CSV ファイルを解析するために使用できる関数があり、解析後に PHP 変数の配列でデータを取得します。ループで配列インデックスを取得し、データを使用してメール機能を開始します。