2009-08-24 190 views

回答

0

使用PHPMailer庫,它有很多功能。將電子郵件地址存儲爲數組,然後使用for循環將每個電子郵件地址作爲字符串添加到mail-> AddAddress字段。它會照顧發送大量郵件。我只用它一次發送大量郵件到6/7地址。它也應該可以用於數百個地址。

1

必須使用PHP?如果是這樣,我會使用PHPMailer,我對它有一些經驗,它並沒有讓我無法批量發送電子郵件。

或者,如果您有權訪問服務器,請查看使用Postfix或Sendmail,它們是該郵件數量的更好選項。

2

我不會嘗試編寫自己的批量郵件,除非您有很多時間。有很多問題需要解決,包括限制電子郵件,發送電子郵件到小批量,所以美國在線和其他服務提供商不認爲你的服務器是垃圾郵件的人。同時你想要包括跟蹤打開的電子郵件,跟蹤反彈的電子郵件,點擊鏈接等。

我會看一些開源選項,如www.phplist.com這是一個非常好的開源程序,用於執行批量電子郵件。

或者在商業方面看看Interspire Email Markerer,它是一款非常漂亮的產品,非常值錢,而且您可以將其託管在您自己的服務器上。

www.interspire.com/emailmarketer/

+0

舊帖子我知道,但爲什麼不直接添加電子郵件列表到密件抄送? – AlxVallejo 2012-07-23 21:26:14

+0

@AlxVallejo,因爲它會超出您的電子郵件標題限制並會導致錯誤。 – 2014-07-19 06:41:02

0

可以使用swiftmailer它。通過使用批處理。

<?php 
    $message = Swift_Message::newInstance() 
     ->setSubject('Let\'s get together today.') 
     ->setFrom(array('[email protected]' => '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(); 
?>