質問

その後、英音楽。管理者は投稿の新しい記事を毎の2、3日間です。一度、管理者は投稿記事には、大量のメールが送信され約5000契約者ます。

何が最良の方法を実施する大量メールする方法はありますか?

は次のような意味を持ちます。

function massmail() 
{
  $content = '...';
  foreach ($recipients as $r) {
    $_content = $content . '<img src="http://xxx/trackOpenRate.php?id='.$r.'">';
    mail($r, 'subject', $_content);
  }
}

別の質問:すべて5000契約者が利用Yahooメール、ヤフーに取り扱うこととしてDDOS攻撃をブロックのIPアドレスのSMTPサーバー?

役に立ちましたか?

解決

まずは、メール)機能を付属しているPHPのではないの最適化を行った。で容易にしspammed、設定をする必要があヘッダていることを確認するために送信メールはHTMLメールのを修正しているかどうかのコードスニペットまで、私の間違いを取得しましたHTMLコード内で正確な を指定するヘッダを追加

いることをお勧めしたく SwiftMailer, は、HTMLを支援し、異なるmimeタイプおよびSMTP認証がお客様のメールと迷惑メール).

他のヒント

私が挿入すべてのメールデータベース(ソートのようにキュー、それを加工して時間がないときにコードを使用する場合はswiftmailerはphpmailer等で行うことができます。)

後にメールを送信するデータベースへの記録を日付/時間で送信されます。

うことが、データベースの最初に

  1. 記録者に送信する
  2. 場合はスクリプトアウトしたまたは失敗したときに実行できな送りと同じメールを人々に回
  3. きの送信処理からのcronジョブ、バッチ間でのメールサーバーにはない圧倒され、何かを送信

いかに自動化するメールをお送りまたは無効なメールで自動的に削除され"変更"ボタンをクリック.

の場合は送信する多くのメールがるにバインドされているが、実は連鎖します。

このはない答え、アドバイスです:あなたは、専用のメーリングリストソフトウェアを使用して、オフはるかに良いくらいです。 Mailmanのにしばしば使われる例が、 mlmmj には十分です。大量のメールを送信すると、実際に実際にあるように思われる以上に困難な作業です。あなたはメールを送信しなければならないの、あなたもあなたのメール、または悪いことに、あなたのメールサーバを避けるために、「デッド」のアドレスを追跡する必要があり、スパムとしてマークされていないだけで。 あなたはずっと同じ理由で脱退人々を処理する必要があります。

あなたはこれらの事を自分で実装するが、特に取り扱いが困難とunrewarding仕事であるバウンスすることができます。メーリングリストマネージャを使用すると、物事が非常に簡単になります。

ヤフーのためのあなたのメールが口に合うようにする方法については、それは全く別の問題です。そのすべての障害のために、彼らは SPF とDomainKeyに大きな株式を入れているようです。あなたはおそらくあなたのメールサーバの管理者からの協力が必要になる、それらを実装する必要があります。

あなたは、操作のその種のCRONを使用して検討することができます。確かに良いではない、それはスパムとして検出することができるがDDoS攻撃、一度に大量のメールを送信するなどしてサーバーをクラッシュさ

だから、CRONはその後数分、次の100、などを待って、一度に100通のメールを送信、偉大な解決策になる可能性があります。

の標準PHPツールを使用して5,000人に電子メールを送信しないでください。あなたは数秒でほとんどのISPによって禁止され、さらにはそれを知っていることはありません取得します。あなたは、いくつかのメーリングリストソフトウェアまたはメールを使用する必要がありますどちらかサービスプロバイダは、これに行うます。

なぜあなたはむしろ phplist に使用していませんか?また、PHPメーラーの上に構築されていますし、業界のリーダーの多くは、それを使用しています。私は私のクライアントに大量のメールを送信するために自分自身に数回、それを使用しました。 phplistのいいところは、あなたがドメインレベルプラス時間制限レベルにあなたのメッセージを絞ることができるということです。

我々はまた、我々が持っている内部キャプチャシステムのカップルと何をやったかmaillingリストに私達のユーザーベースを押した後、毎日与えられたメールをトリガするcronエントリを持っていることでした。可能性はそれがオープンソースについての素晴らしいことだ、無限大です!

また、PEARパッケージ:

http://pear.php.net/package/Mail_Mimeする http://pear.php.net/package/Mailする http://pear.php.net/package/Mail_Queueする

すすり泣き。

PS:これらの5000通の電子メールを送信するメールを()を使用しないでください。メールは()でも同じMTAに、電子メールのセットごとに別々のソケットを作成するので、誰もが他の言ったことに加えて、それは非常に非効率的です。

またphpmailerのクラスを見てみましょう。 phpmailerの

私はすでにLotus NotusPHPを使用してそれをやりました。メールサーバーへのアクセス権を持っているか、あなたはmail server管理者に何かを要求することができます場合は、このソリューションは機能します:

1)mail serverでグループを作成します。「営業部」
。 2)groupにあなたがグループにする必要がアカウントを割り当てます。
3)グループのインターネットアドレス割り当てます。salesdept@DOMAIN.comを

:4)メール機能を使用して、あなたにPHPスクリプトを作成します。    = "salesdept@DOMAIN.com" に$;
   メール($に、$件名、$メッセージ、$ヘッダ)。

それは私のために働いたとグループに含まれるすべてのアカウントには、メールを受信します。

lucksの最高ます。

あなたはそれのためにではSwiftMailerを使用することができます。バッチ処理を使用することによります。

<?php
    $message = Swift_Message::newInstance()
      ->setSubject('Let\'s get together today.')
      ->setFrom(array('myfrom@domain.com' => 'From Me'))
      ->setBody('Here is the message itself')
      ->addPart('<b>Test message being sent!!</b>', 'text/html');

    $data = mysql_query('SELECT first, last, email FROM users WHERE is_active=1') or die(mysql_error());
    while($row = mysql_fetch_assoc($data))
    {
       $message->addTo($row['email'], $row['first'] . ' ' . $row['last']);
    }

    $message->batchSend();
?>

なぜ迷惑プログラムの理由を教えてください。このブログで使用 Google Feedburner 自動的に押し更新の契約数をメールにて差し上げます。

この 無料 して使用し Googleのインフラ.かります。いであサイト/ブログと素晴ら.

下振れで 見積極的に展開し 対応していない ました。ることをお勧めしたいfrown離れを商用のメール一覧の場合を入れています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top