Comment Mail Notify:適用於Twenty Ten主題的WordPress評論郵件回覆代碼

默認情況下,當讀者在你的WordPress站點上提交了評論留言後,作爲管理員的你會收到系統自動發給你的通知郵件,這是個很方便的提醒功能。

問題是,你給評論者的回覆卻不會通過郵件通知到對方,這個就不是很方便啦!網上搜一下,好多插件支持評論郵件回覆通知的功能,不過試了一下,多數過於複雜or花哨了:我僅僅是需要提供給讀者一個選項,讓他們自己選擇是否接受我的郵件回覆通知就行了。

繼續搜索,發現大師WillinKan已經提供了詳盡的代碼來實現這個功能,而且很細心的分多個情景給大家選擇。原文是《CommentMailNotify》,請有興趣的讀者移步圍觀之~我選擇的情景是:有複選框,訪客可以決定是否要接收郵件通知。WillinKan的原始代碼中相關的提示語是繁體中文的,最好根據需要改成簡體中文。把所需的代碼修改後複製進所用主題functions.php文件的<?php...?>中即可。

幾個要注意的地方:
1)先設置好用來自動回覆讀者評論的可用郵箱地址
必須在你的空間商那裏創建一個以你的網站域名爲後綴的專用郵箱。例如,常用的格式有[email protected]。WillinKan提供的代碼中默認就是這個格式的郵箱,如果你不用這個格式的話,可以修改$wp_email='no-reply@'爲自己定義的郵箱。

2)CSS樣式問題
其他主題我不清楚,不過我使用的TwentyTen主題是必須修改CSS的,不然複選框和提示語會錯位。這裏要贊一下WillinKan,我在他的博客上留言請教如何修改CSS,他很詳細地回覆了,好人啊……我得好好總結下,讓更多使用TwentyTen主題的童鞋能用上大師的代碼。

直接進網站後臺的“外觀-編輯”頁面,找到style.css文件。

搜索到以下代碼:
respondinput{
margin:009px;
width:98%;
}

在}符號後下一行直接添加以下代碼:
#respondinput#comment_mail_notify{
margin:09px;
width:10px;
}

繼續搜索到以下代碼:
#respond.form-submit{
margin:12px0;
}

添加一段代碼:
display:inline;

最終變爲:
#respond.form-submit{
margin:12px0;
display:inline;
}

3)解決郵件代發問題(指定真實發件人地址)
默認情況下,如果你的主機支持mail()函數,那麼按照以上步驟使用CommentMailNotify就可以正常發回復郵件給讀者了。不過還有一個小問題,我也不知道是不是所有主機都會有這種情況:默認通過WordPress發出的郵件都是由空間商的郵件服務器代發的。

這是什麼意思呢?舉個例子,默認情況下,不做任何配置的話,讀者在我的網站上留言,WordPress本身會自動發郵件通知我。這個發送郵件的地址一般都是[email protected],而且容易被當作垃圾郵件。原因很簡單,仔細查看下收到的通知郵件就明白了,因爲這類郵件是由主機商的某個郵件服務器信箱代發的,與“發件人”顯示的地址不一致,易被判爲仿冒郵件。同樣的道理,雖然我在CommentMailNotify代碼中已經指定了一個[email protected],可是實際發件人並不是這個地址。

135032493.png

解決方法?網上有很多說法,各執一詞。我是誤打誤撞解決這個問題的:使用插件wp-mail-smtp。關於wp-mail-smtp,網上提到它的教程一般都是這麼說的:Windows主機禁用了mail(),於是必須用smtp形式來發郵件,故採用wp-mail-smtp來使用第三方郵箱……慢着,爲啥很少人提到wp-mail-smtp也是支持mail()函數的?我直接在這個插件的設置頁指定了[email protected],選擇發送方式爲UsethePHPmail()functiontosendemails,並且勾選了複選框“Setthereturn-pathtomatchtheFromEmail”,就完成設置了。測試了一下,無論是留言審覈提醒,還是讀者評論自動回覆,都會以[email protected]爲真實發件人地址。

雖然解決了這個奇怪的郵件代發問題,只是我還是有點繞不過彎來:既然我的linux主機本身就支持mail()函數,我又何必多此一舉通過一個插件來使用這個函數?應該是有直接修改程序的方法,只是我沒找到而已。若您對此問題有所瞭解,歡迎指點一下迷津!

好了,從現在開始你的WordPress站點已經能夠自動將你的回覆發郵件通知讀者了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章