2010-07-21 82 views
3

我可以通過在郵件程序中定義id來發送電子郵件到一個電子郵件ID,但是我無法理解如何在用戶在一個郵件中輸入「電子郵件和電子郵件ID」時發送給多個收件人形成。例如 - 我展示了一個包含兩個文本區域的表單 - 一個用於電子郵件ID和一個用於自定義消息。所以當他們點擊發送時,我想從該文本區域獲取電子郵件ID並將該消息發送給這些ID。我還沒有弄清楚如何逗號/空格分隔電子郵件,但會嘗試在谷歌搜索。php mail multiple recepients

感謝

+0

我已經添加了一個指向你可能會覺得有用的鏈接。 – 2010-07-23 04:05:53

回答

0

做一些搜索後,我用這個答案來發送由分號分隔的多個地址(由於某種原因,我試着用逗號在此代碼失敗了,但我用分號罰款)。

如果萬一如果有人找JS驗證檢查的ID進入

var emailRegex = /^(([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+([;.](([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5}){1,25})+)*$/; 

正如我收集到的電子郵件ID的用分號隔開,我不得不更換;有,

$emails_tosend = preg_replace('/;/', ',', $emailid); 

$電子郵件ID - 從形式

收集這樣做上述置換後,我只是用普通的「給」的郵件發送給多個收件人。

$to = "$emails_tosend"; 
mail ($to, $subject, $message, $headers); 

希望這有幫助,很明顯。我可以解釋是否有人需要更多的澄清。感謝你的幫助。

4

to參數爲mail()功能狀態的文檔:

Receiver, or receivers of the mail. 

The formatting of this string must comply with » RFC 2822. Some examples are: 

    * [email protected] 
    * [email protected], [email protected] 
    * User <[email protected]> 
    * User <[email protected]>, Another User <[email protected]> 

http://php.net/manual/en/function.mail.php

更新:

我遇到這個偉大的教程發送郵件用PHP: http://articles.sitepoint.com/article/advanced-email-php

+0

嗨, 謝謝,我設法發送多封電子郵件,我打算今天的某個時候發佈代碼,一旦我清理了一點點。現在我堅持通過cron發送自動電子郵件。這是我需要的 - 當管理員發送電子郵件時,我將信息,電子郵件,活動日期存儲在數據庫中。現在我正在嘗試設置acron工作,以發送電子郵件到桌面上的所有這些ID,並提示我提示消息。我不熟悉cron作業腳本,任何人都可以幫助引導我正確的方式來寫腳本,我可以放在cron tab.thanks – Jay 2010-07-28 12:47:20

+0

我同意你的觀點,正如我在另外一個問題中提到的那樣,我絕對會給出一個信用點基於回答和評論,我完成了我的工作。可能會有延遲,但我會毫不猶豫地做。我會稍微發佈我的cron工作問題。謝謝。我補充說,作爲一個問題在這裏http://stackoverflow.com/questions/3368307/how-to-send-emails-via-cron-job-usng-php-mysql – Jay 2010-07-30 02:10:24

1

用逗號分隔地址。

3

如果您必須做任何事情,即使是「適度」複雜的任何事情,比如電子郵件的多個收件人,使用諸如PHPMailer(免費,易於安裝,易於使用)之類的東西要容易得多。它會在一個漂亮的界面後面隱藏所有醜陋的細節。而不必擔心頭語法和諸如此類的東西,你只是這樣做:

$mail = new PHPMailer(); 
$mail->AddAddress('[email protected]'); 
$mail->AddAddress('[email protected]'); 
etc... 
+0

+1一個好主意,但我認爲這是必不可少的知道幕後發生了什麼。 – 2010-07-23 04:05:06