2009-02-19 30 views
2

我有我的網站上的應用程序,人們可以申請接收簡訊,然後有人在付費組可以寫,並立即發出一個大家誰簽署了...自動郵件列表 - PHP

。 ..意味着我需要一種有效的方式來循環訪問訂閱者數據庫,並使用php郵件發送郵件副本。

清楚,有郵件()函數....我可以把它放在一個循環...有沒有更好的辦法?

回答

1

我建議通過尋找一種方法來循環,記住你已經寄給誰,因爲如果它成爲一個大名單的人,你的腳本可能會結束,你不得不重新加載它。

我曾經使用AJAX做到了,給了我一個偉大的方式來跟蹤在那裏我是在送理線。算了多少人郵寄,把ID的數組,有JavaScript的循環,並作出單獨的電話到一個PHP的郵件頁...

-edit- 你可以有一個PHP腳本,一個簡單的while循環,但是你應該在數據庫中添加一個檢查來查看郵件是否已經發送給一個人。如果腳本超過內存使用情況,只需重新加載頁面,它將只發送給那些尚未收到書的那些...

+0

冷靜下來的那....你的意思是隻有郵件()功能? – johnnietheblack 2009-02-19 16:40:13

+0

每個收件人發一封郵件而不只是bcc呢? – OIS 2009-02-19 17:27:13

3

PEAR的mail queue

的Mail_Queue類把郵件在 臨時容器,等待被饋送 到MTA(郵件傳輸代理),和 後發送它們(例如一定 量的電子郵件的每隔幾分鐘)由 crontab或以其他方式。

+0

是的香港專業教育學院聽說過太多其實......我嘗試安裝梨和使用它,但有麻煩一點點(我的網站子域名之間傳播,並具有固定的圖書館對我來說變得混亂)...是很難使用,但一般來說呢? – johnnietheblack 2009-02-19 16:39:17

0

嘗試phplist(Homepage)如果你需要一個全功能的通訊和郵件列表管理器

3

您可以使用BCC頭選項,併發送一個電子郵件密件抄送所有用戶的列表。 因此,建立在循環中的BCC串併發送一個電子郵件使用電子郵件()

片段從PHP手冊...

// To send HTML mail, the Content-type header must be set 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

// Additional headers 
$headers .= 'To: Mary <[email protected]>, Kelly <[email protected]>' . "\r\n"; 
$headers .= 'From: Birthday Reminder <[email protected]>' . "\r\n"; 
$headers .= 'Cc: [email protected]' . "\r\n"; 
$headers .= 'Bcc: [email protected]' . "\r\n"; 

// Mail it 
mail($to, $subject, $message, $headers); 

替換 '密件抄送:[email protected]' 與$ mySubscribersList

1

關於@ paulbm的回答,爲什麼不在服務器上創建一個指向所有當前電子郵件地址的別名?短的procmail腳本可以防止使用別名的一個授權發件人以外的任何人。

這將會使郵件的方便,並與新的/改變的電子郵件地址重建名單將是非常簡單,太。