這是關於前幾天文章的一個補充 通過郵件內容,獲得對方的網站真實 IP 附隱藏方法

同樣本功能無需任何要求,發送郵件,可使用自己郵箱,[email protected],可完美結局無法使用 SMTP 、 mail() 函數發送郵件的困境 (不過下文只放郵件提醒,其他自己看着辦吧)

郵件 API 地址:http://mail.api.ihuan.me/smtp-to-wp.php  數據使用 POST 方式發送,相關參數後邊有

好吧,承認發上篇文章,讓張戈罵了一通,不過聽説他最近好像也找到解決方法了,不過,我這裏可以提供代發,使用 POST 提交數據 無需 SMTP 鏈接,完美解決主機不支持 mail() 、 SMTP 的問題哦,同樣發送 IP 為小幻的萬網代發服務器。 (隱藏 IP)

//評論回覆郵件通知 (所有回覆都郵件通知)
function comment_mail_notify($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')) {
    //$wp_email = 'no-reply@' . preg_replace('#^www.#', '', strtolower($_SERVER['SERVER_NAME'])); //e-mail 發出點, no-reply 可改為可用的 e-mail.
    $to = trim(get_comment($parent_id)->comment_author_email);
    $subject = '您在 [' . get_option("blogname") . '] 的留言有了回覆';
    $message = '
<div style="background-color:#fff; border:1px solid #666666; color:#111;
-moz-border-radius:8px; -webkit-border-radius:8px; -khtml-border-radius:8px;
border-radius:8px; font-size:12px; width:702px; margin:0 auto; margin-top:10px;
font-family: 微軟雅黑, Arial;">
<div style="background:#666666; width:100%; height:60px; color:white;
-moz-border-radius:6px 6px 0 0; -webkit-border-radius:6px 6px 0 0;
-khtml-border-radius:6px 6px 0 0; border-radius:6px 6px 0 0; ">
<span style="height:60px; line-height:60px; margin-left:30px; font-size:12px;">
您在<a style="text-decoration:none; color:#00bbff;font-weight:600;"
href="'%20.%20get_option('home')%20.%20'">' . get_option("blogname") . '
</a> 博客上的留言有回覆啦!</span></div>
<div style="width:90%; margin:0 auto">
<p>' . trim(get_comment($parent_id)->comment_author) . ', 您好!</p>
<p> 您曾在 [' . get_option("blogname") . '] 的文章
《' . get_the_title($comment->comment_post_ID) . '》 上發表評論:
<p style="background-color: #EEE;border: 1px solid #DDD;
padding: 20px;margin: 15px 0;">' . nl2br(get_comment($parent_id)->comment_content) . '</p>
<p>' . trim($comment->comment_author) . ' 給您的回覆如下:
<p style="background-color: #EEE;border: 1px solid #DDD;padding: 20px;
margin: 15px 0;">' . nl2br($comment->comment_content) . '</p>
<p> 您可以點擊 <a style="text-decoration:none; color:#00bbff"
href="'%20.%20htmlspecialchars(get_comment_link($parent_id))%20.%20'"> 查看回復的完整內容</a></p>
<p> 歡迎再次光臨 <a style="text-decoration:none; color:#00bbff"
href="'%20.%20get_option('home')%20.%20'">' . get_option("blogname") . '</a></p>
<p>(此郵件由系統自動發出, 請勿回覆.)</p>
</div>
</div>';
    $message = convert_smilies($message);
    //$from = "From: "" . htmlspecialchars(get_option('blogname'),ENT_QUOTES) . "" <$wp_email>";
    //$headers = "$from
Content-Type: text/html; charset=" . get_option('blog_charset') . "
";
    //wp_mail( $to, $subject, $message, $headers );
    //echo 'mail to ', $to, '<br/> ' , $subject, $message; // for testing
$xm_smtp_data = array ("host" =>"" ,"address" => "","user" => "","pass" => "","fromname" => "");
//如果有自己的 SMTP 則輸入,沒有則不填
$xm_mail_data = array ("to" => $to,"subject" => $subject,"message" => $message);
$xm_post_data = array_filter(array_merge ($xm_smtp_data, $xm_mail_data));
$xm_url = "http://mail.api.ihuan.me/smtp-to-wp.php";
$xm_ch = curl_init();
curl_setopt($xm_ch, CURLOPT_URL, $xm_url);
curl_setopt($xm_ch, CURLOPT_RETURNTRANSFER, 1);
// post 數據
curl_setopt($xm_ch, CURLOPT_POST, 1);
// post 的變量
curl_setopt($xm_ch, CURLOPT_POSTFIELDS, $xm_post_data);
$xm_output = curl_exec($xm_ch);
curl_close($xm_ch);
if ($xm_output['err_no']==0) return true;
return false;
  }
}
add_action('comment_post', 'comment_mail_notify');

最後那些 我註釋掉了使用 wp_mail 直接發送 POST 數據到我的郵件 API

變量 $to 為發送到的目標地址 $subject 為郵件主題 $message 為內容 (不要改數組)

當然變量內容可以不是小幻上面放着的郵件提醒樣式

不修改代碼則使用小幻的郵件 API  如果修改 $xm_smtp_data 數組中 key 後 「」 則使用小幻 API 連接 SMTP 再發送

這些任務只有發送 POST 數據和你的主機有關。

自定義 SMTP 數組示例 (不用千萬不要填寫)

$xm_smtp_data = array ("host" =>"smtp.qq.com" ,"address" => "[email protected]","user" => "123","pass" => "123","fromname" => "小幻");

同樣 host 這些也都是 POST 的數據,不過不填寫,則過濾掉,自然不會連接 SMTP,直接用小幻的。

好了就這些,以後有時間會弄個插件來玩玩,直接用 wp_mail 發送,就不會呢麼麻煩了。

2015-7-11 補充:

接受建議,直接使用本站 API 郵箱發送的,也可以自己命名發件人名稱了。

在 xm_mail_data 數組中增加 「fromname」=>"發件人名稱" 同樣可以自定義發件人名稱哦!

模版真的可以更換,這裏只是小幻用的一個模版,你可以把你以前的扣下來放進去,也可以用的!

2014-08-01T11:29:34+08:00發表於:2014-08-01|WordPress|