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