當(dāng)前位置:首頁(yè)>WordPress建站>WordPress開發(fā)>WordPress 使用 smtp 發(fā)送評(píng)論提醒郵件

WordPress 使用 smtp 發(fā)送評(píng)論提醒郵件

如果你空間不支持正常郵件發(fā)送功能的(小貓的空間就是如此),需要使用smtp發(fā)送評(píng)論郵件的話,那么你就可以繼續(xù)看下文的教程了。

首先,下載smtpPHP工具,把里面的PHPMailer文件夾丟在你的主題目錄里面。

然后再你 functions.php 文件里面加以下代碼即可,記得修改對(duì)應(yīng)的郵件參數(shù)即可,強(qiáng)烈建議使用163郵箱,因?yàn)槲矣?63發(fā)smtp那么久沒(méi)出過(guò)什么錯(cuò),需要的地方我都有注釋的:

/**
 * WordPress 使用 smtp 發(fā)送評(píng)論提醒郵件
 * http://www.ydqwiac.cn/wordpress-comment-mail-notify-smtp.html
 */
function comment_mail_notify_editFromClmao($comment_id) {
	$comment = get_comment($comment_id);
	$parent_id = $comment->comment_parent ? $comment->comment_parent : '';
	$spam_confirmed = $comment->comment_approved;
	if (($parent_id != '') && ($spam_confirmed != 'spam')) {
		$to = trim(get_comment($parent_id)->comment_author_email);
		$subject = '您在 [' . get_option("blogname") . '] 的留言有了回應(yīng)';
		$message = '
			<div style="background-color:#eef2fa; border:1px solid #d8e3e8; color:#111; padding:0 15px; -moz-border-radius:5px; -webkit-border-radius:5px; -khtml-border-radius:5px; border-radius:5px;">
				<p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p>
				<p>您曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:<br />'
					. trim(get_comment($parent_id)->comment_content) . '</p>
				<p>' . trim($comment->comment_author) . ' 給您的回應(yīng):<br />'
						. trim($comment->comment_content) . '<br /></p>
				<p>您可以點(diǎn)擊 <a href="' . htmlspecialchars(get_comment_link($parent_id)) . '">查看完整的回應(yīng)內(nèi)容</a></p>
				<p>歡迎再度光臨 <a href="' . get_option('home') . '">' . get_option('blogname') . '</a></p>
				<p>(此郵件由系統(tǒng)發(fā)出, 請(qǐng)勿回復(fù).)</p>
			</div>';
		header("content-type:text/html;charset=utf-8");
		ini_set("magic_quotes_runtime",0);
		require get_template_directory().'/PHPMailer/class.phpmailer.php';
		try {
			$mail = new PHPMailer(true);
			$mail->IsSMTP();
			$mail->CharSet='UTF-8';
			$mail->SMTPAuth = true;
			$mail->Port = 25;
			$mail->Host = "smtp.163.com";//郵箱smtp地址,此處以163為例
			$mail->Username = "你的郵箱賬號(hào)";//你的郵箱賬號(hào)
			$mail->Password = "你的郵箱密碼";//你的郵箱密碼
			$mail->From = "你的郵箱賬號(hào)";//你的郵箱賬號(hào)
			$mail->FromName = get_option('blogname');
			$to = $to;
			$mail->AddAddress($to);
			$mail->Subject = $subject;
			$mail->Body = $message;
			$mail->WordWrap = 80;
			//$mail->AddAttachment("f:/test.png"); //可以添加附件
			$mail->IsHTML(true);
			$mail->Send();
			} catch (phpmailerException $e) {
			// echo "郵件發(fā)送失敗:".$e->errorMessage(); //測(cè)試的時(shí)候可以去掉此行的注釋
		}
	}
}
add_action('comment_post', 'comment_mail_notify_editFromClmao');

效果圖:

20140426221820

聲明:本站所有文章,如無(wú)特殊說(shuō)明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關(guān)注WordPress大學(xué)公眾號(hào) WPDAXUE
WordPress開發(fā)

無(wú)插件為你 WordPress 站點(diǎn)添加移動(dòng)端樣式

2014-4-25 9:39:24

WordPress開發(fā)

WordPress 基于評(píng)論者的用戶角色確定評(píng)論樣式

2014-4-29 8:24:54

7 條回復(fù) A文章作者 M管理員
  1. aaa95945

    QQ郵箱是不是只需要改服務(wù)器地址和端口就好了?為什么我不能用啊……博主求教 ??

  2. 研究半天了,,我是萬(wàn)網(wǎng)的空間
    萬(wàn)網(wǎng)給了一個(gè)代碼不知道怎么用到網(wǎng)站里
    <?
    echo send_mail('xxxx@qq.com','發(fā)信測(cè)試','測(cè)試測(cè)試測(cè)試測(cè)試測(cè)試測(cè)試');

    function send_mail($to, $subject = 'No subject', $body) {
    $loc_host = "test"; //發(fā)信計(jì)算機(jī)名,可隨意
    $smtp_acc = "xxx@163.com"; //Smtp認(rèn)證的用戶名,類似fuweng@im286.com,或者fuweng
    $smtp_pass="xxx"; //Smtp認(rèn)證的密碼,一般等同pop3密碼
    $smtp_host="smtp.163.com"; //SMTP服務(wù)器地址,類似 smtp.tom.com
    $from="xxx@163.com"; //發(fā)信人Email地址,你的發(fā)信信箱地址
    $headers = "Content-Type: text/plain; charset=\"gb2312\"\r\nContent-Transfer-Encoding: base64";
    $lb="\r\n"; //linebreak

    $hdr = explode($lb,$headers); //解析后的hdr
    if($body) {$bdy = preg_replace("/^\./","..",explode($lb,$body));}//解析后的Body
    $smtp = array(
    //1、EHLO,期待返回220或者250
    array("EHLO ".$loc_host.$lb,"220,250","HELO error: "),
    //2、發(fā)送Auth Login,期待返回334
    array("AUTH LOGIN".$lb,"334","AUTH error:"),
    //3、發(fā)送經(jīng)過(guò)Base64編碼的用戶名,期待返回334
    array(base64_encode($smtp_acc).$lb,"334","AUTHENTIFICATION error : "),
    //4、發(fā)送經(jīng)過(guò)Base64編碼的密碼,期待返回235
    array(base64_encode($smtp_pass).$lb,"235","AUTHENTIFICATION error : "));
    //5、發(fā)送Mail From,期待返回250
    $smtp[] = array("MAIL FROM: “.$lb,”250”,”MAIL FROM error: “);
    //6、發(fā)送Rcpt To。期待返回250
    $smtp[] = array(“RCPT TO: “.$lb,”250”,”RCPT TO error: “);
    //7、發(fā)送DATA,期待返回354
    $smtp[] = array(“DATA”.$lb,”354″,”DATA error: “);
    //8.0、發(fā)送From
    $smtp[] = array(“From: “.$from.$lb,””,””);
    //8.2、發(fā)送To
    $smtp[] = array(“To: “.$to.$lb,””,””);
    //8.1、發(fā)送標(biāo)題
    $smtp[] = array(“Subject: “.$subject.$lb,””,””);
    //8.3、發(fā)送其他Header內(nèi)容
    foreach($hdr as $h) {$smtp[] = array($h.$lb,””,””);}
    //8.4、發(fā)送一個(gè)空行,結(jié)束Header發(fā)送
    $smtp[] = array($lb,””,””);
    //8.5、發(fā)送信件主體
    if($bdy) {foreach($bdy as $b) {$smtp[] = array(base64_encode($b.$lb).$lb,””,””);
    //9、發(fā)送“.”表示信件結(jié)束,期待返回250
    $smtp[] = array(“.”.$lb,”250″,”DATA(end)error: “);
    //10、發(fā)送Quit,退出,期待返回221
    $smtp[] = array(“QUIT”.$lb,”221″,”QUIT error: “);
    //打開smtp服務(wù)器端口
    $fp = @fsockopen($smtp_host, 25);
    if (!$fp) echo “Error: Cannot conect to “.$smtp_host.”
    “;
    while($result = @fgets($fp, 1024)){if(substr($result,3,1) == ” “) { break;

    $result_str=””;
    //發(fā)送smtp數(shù)組中的命令/數(shù)據(jù)
    foreach($smtp as $req){
    //發(fā)送信息
    @fputs($fp, $req[0]);
    //如果需要接收服務(wù)器返回信息,則
    if($req[1]){
    //接收信息
    while($result = @fgets($fp, 1024)){
    if(substr($result,3,1) == ” “) { break; }
    };
    if (!strstr($req[1],substr($result,0,3))){
    $result_str.=$req[2].$result.”
    “;
    }
    }
    }
    //關(guān)閉連接
    @fclose($fp);
    return $result_str;
    }
    ?>

  3. 我按照你的設(shè)置做了一遍,還是不發(fā)送郵件。

  4. 為什么我用的xiu主題,加入代碼后,整個(gè)網(wǎng)站都無(wú)法打開

  5. wordpress自帶phpmyadmin鉤子
    add_action(‘phpmailer_init’, ‘mail_smtp’);

    來(lái)自 亂燉 – 研究web http://levi.cg.am

  6. 我想問(wèn)下:PHPMailer 這是干嘛的?為什么我似乎沒(méi)有這些文件,也能發(fā)呢?

  7. 這個(gè)不錯(cuò)

?
個(gè)人中心
購(gòu)物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

岐山县| 甘洛县| 蒙山县| 水城县| 武穴市| 丽江市| 法库县| 武陟县| 山东省| 南京市| 广元市| 绥阳县| 鄄城县| 德庆县| 东方市| 龙门县| 彭泽县| 临颍县| 德兴市| 青州市| 临朐县| 顺义区| 柳林县| 邹城市| 舒兰市| 任丘市| 崇文区| 嘉义市| 栖霞市| 同江市| 松桃| 黄龙县| 济阳县| 上高县| 建瓯市| 广德县| 赤城县| 宁蒗| 团风县| 刚察县| 莲花县|