我有一個郵件列表表單,我正在處理這個問題,那就是需要讓用戶根據他們選擇的複選框訂閱多個電子郵件列表。現在訂閱郵件列表,它只是發送電子郵件 - list_#@domain.com帶有多個操作的PHP表單
我很好奇,如果這樣的事情是可能的只使用PHP,然後發送電子郵件到不同的列表,基於如果相關的複選框被選中?
我有一個郵件列表表單,我正在處理這個問題,那就是需要讓用戶根據他們選擇的複選框訂閱多個電子郵件列表。現在訂閱郵件列表,它只是發送電子郵件 - list_#@domain.com帶有多個操作的PHP表單
我很好奇,如果這樣的事情是可能的只使用PHP,然後發送電子郵件到不同的列表,基於如果相關的複選框被選中?
當然可以!只需使用PHP的mail function將郵件從用戶在Web表單中指定的電子郵件地址發送到所需的收件人即可。
但有一點需要注意:您可能會遇到一些郵件服務器和人爲創建的「From」標頭(如郵件功能中使用的標頭)。出於安全考慮,如果某條消息看起來對其來源不明確(例如:意外的發件人IP),則某些服務器會將違規IP列入黑名單,從而無法將郵件從該IP發送到該服務器。包括用戶在電子郵件主題或正文中的地址,以及使用該數據(而不是From頭)將收件人添加到郵件列表中可能會更好。
編輯:另外值得一提的是,如果這種可能性存在訂閱很多郵件列表(讀:發送許多電子郵件)在你的郵件腳本的一個執行,你可能要放棄mail()
這樣的事情PEAR's mail package。原因是mail()
必須爲它發送的每條消息打開一個新的SMTP套接字,而像上面提到的那樣的套件更適合批量發送郵件。
就我個人而言,我會在兩個單獨的函數中運行此功能,其中1個用於訂閱電子郵件列表,另一個用於發送郵件。
不知道你用來存儲訂閱數據的數據庫或結構,我會創建一個function
來將訂閱信息插入到數據庫中。我可能會這樣做的方式(僅僅爲了靈活的數據庫結構)是建立訂閱郵件列表的array
,並用foreach
循環來循環它。
接下來是電子郵件的實際發送,我將設置一個特殊的郵件帳戶,其中包含我將發送給它的所有電子郵件別名,然後我將使用一個郵件管道(或輪詢)該郵件到我的系統中「CRON
job」,當CRON
正在運行時,我會通過SMTP通過我的首選ISP或SMTP服務器發送郵件。這又是一個自定義函數,但過去我使用過Pear SMTP處理程序。如果你快速搜索「php smtp handler」,那麼有很多SMTP處理程序。
我希望這會有所幫助。
這裏是使用單選按鈕的簡單表單操作。
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script type="text/javascript">
$(document).ready(function() {
$('input[type=submit]').click(function(e){
e.preventDefault();
var id = $('input[type=radio]:checked').attr('id');
if(id == "radio1") {
//do an ajax call to a php file to subscribe
} else if(id == "radio2") {
//do an ajax call to a php file to mail
} else {
//do an ajax call to a php file to others
}
});
});
</script>
</head>
<body>
<form>
<input type='text' id='fname' name='fname'>
<input type='text' id='lname' name='lname'>
<input type='radio' id='radio1' name='lname'>
<input type='radio' id='radio2' name='lname'>
<input type='radio' id='radio3' name='lname'>
<input type='submit' value='submit'>
</form>
</body>
</html>
*注:我使用的單選按鈕來限制用戶只選擇一個選項
我想如果有用戶的電子郵件地址,你可以使用'郵件()'或SMTP功能發送以他們的名義申請電子郵件,他們只需要他們的電子郵件「發件人」。我猜你正在談論的是你發送請求的LISTSERV設置。 –
這是可能的。你可以使用javascript/jquery來做到這一點。 – wargodz009
您能簡單地將電子郵件發送給多次收件人嗎? – Scuzzy