本文實例講述了PHP的郵件群發系統phplist配置方法。分享給大家供大家參考,具體如下:
phplist是一個十分不錯的郵件群發系統,讓我們可以很方便地群發電子雜志、小廣告(^_^)等。
最近幫一個老師搭建郵件群發系統,用的就是phplist。但是網上關于搭建該系統的資料很零碎,需要費些功夫組合起來才行。而既然我已經做了這個工作,就拿出來分享吧,希望對大家有用。(另外,phplist或是phpmailer通過gmail發送郵件比通過其他郵箱發送還要麻煩一些,如果你需要通過gmail發送,在看完這篇文章講的基本配置后,請參考《phplist及phpmailer(組合使用)通過gmail發送郵件的配置方法》來進行進一步的配置)
1.下載用最新版phplist(我用的是phplist-2.10.12)。
2.將public_html下的lists目錄放到自己的web目錄下(服務器上)。
3.修改lists/config/config.php,在其20行左右處修改數據庫相關信息,然后在MySQL中建立與$database_name同名的空數據庫(建議改數據庫連接校對為utf8_general_ci,防止中文亂碼)。
4.通過瀏覽器訪問服務器上/lists/admin/,此時會提示數據庫未初始化,點擊“initialise database”鏈接,進行數據庫初始化。初始化時可能會有一張表(user_blacklist_data)出現初始化錯誤,那張表是關于用戶黑名單的,我不需要此功能,不影響使用也就不用管這個錯誤了。但如果你不能容忍這個錯誤,我這里也有一個解決方案:找到lists/admin/structure.php中的
1
2
3
4
5
|
"user_blacklist" => array ( "email" => array ( "varchar(255) not null unique" , "Email" ), "added" => array ( "datetime" , "When added to blacklist" ), "index_1" => array ( "emailidx (email)" , "" ), ) |
修改為
1
2
3
4
5
|
"user_blacklist" => array ( "email" => array ( "varchar(233) not null unique" , "Email" ), "added" => array ( "datetime" , "When added to blacklist" ), "index_1" => array ( "emailidx (email)" , "" ), ) |
drop掉數據庫重建,并重新初始化數據庫就好了。
5.下面還要進行一些基本配置:
仍然是lists/config/config.php,在190行左右處找到
1
|
define( "TEST" , 1); |
修改為
1
|
define( "TEST" , 0); |
因為只有非測試模式才能真正發送郵件。
然后在650行左右處找到
1
|
define( "PHPMAILERHOST" , '' ); |
此為smtp服務器名,我用的是sohu的郵箱,所以改為
1
|
define( "PHPMAILERHOST" , 'smtp.sohu.com' ); |
往下幾行可以找到
1
2
|
# $phpmailer_smtpuser = 'smtpuser' ; # $phpmailer_smtppassword = 'smtppassword' ; |
將其前面用于注釋的“#”去掉,并填寫自己發送郵件時所使用的用戶名和密碼,例如我會將其改為
1
2
|
$phpmailer_smtppassword = 'mypassword' ; |
如果你使用的不是gmail郵箱的話,那么應該是可以開始發送郵件了(我測試過的有sohu郵箱、qq郵箱、大學學校郵箱)——但需要注意的一點是,在發送測試郵件時目標地址必須是已經存在于你的user列表中的email地址,否則發送會失敗。
如果你使用的是gmail,請參見我的另外一篇文章《phplist及phpmailer(組合使用)通過gmail發送郵件的配置方法》。
希望本文所述對大家PHP程序設計有所幫助。