Zend Framework Mail經過網易免費郵箱發送郵件

作爲一個苦逼的我的站長,作一個小網站,原本願意來看的人就很少,再弄一個不能找回密碼的會員系統?基本上被判死刑了 。阿里雲的短信也要錢啊,並且只支持PHP 5.5以上,個人網站還停留在PHP 5.3的水平。升級?怕又惹出新麻煩來。反正,在中國大陸,你用服務器來發郵件,別的郵件服務器是不會收的。我用服務器上的Postfix,用命令行mail測試過。都發不了。php

因而,想用各大網站的郵件服務器來代勞,但是QQ郵箱不能、新浪郵箱不能。若是我說錯了,請各位糾正我。後來,看到網上有人說網易的郵箱能夠,因而就註冊一個來試試。結果,真的能夠!網易真偉大!謝謝!html

開通郵箱後,得申請一個受權碼,就是在程序中要使用的密碼。方法以下:服務器

163郵箱如何開始POP3協議,獲取受權碼框架

而後,我找到這篇神做,感謝兩位做者!測試

Zend Framework框架之Zend_Mail實現發送Email郵件驗證功能及解決標題亂碼的方法網站

固然,有人也使用PHPMAILER,個人應用,就是發送一封郵件給會員,可讓他到一個特殊的通道去修改會員密碼,能發信就成。這個方法使用的就是Zend Framework的Mail庫。ui

//固然了,你前面得判斷一下那個郵箱有沒有註冊會員
require_once 'Zend/Mail.php';
require_once 'Zend/Mail/Transport/Smtp.php';
$mail = new Zend_Mail("UTF-8");//設置郵件編碼
$config = array(
	'auth' => "login", 
	'username' => "somebody",//電子件用戶名
	'password' => "dont tell you", //這就是申請來的受權碼
	'ssl' => "ssl" //這個要開通php.ini中的OpenSSL
);
								
$transport = new Zend_Mail_Transport_Smtp('smtp.163.com',$config);
$mail->setDefaultTransport($transport);

$title ="找回密碼郵件";								
$mailcontent='我在測試呢,看看好很差使!';
$mail->setBodyHtml($mailcontent); //能夠發送HTML的郵件.真方便! 
$mail->setFrom('somebody@163.com', 'ypgogo');
$mail->addTo($email, 'somebody'); $title=',用戶您好,這是網站激活驗證郵件!';
$mail->setSubject("=?UTF-8?B?".base64_encode($title)."?=");
if($mail->send())
{
   //do something wisely
}
else
{
    //cry loudly
}

第一封信發給QQ郵箱,竟然沒進垃圾箱,真是過高興了!阿里雲

成功以前,有一次由於沒有使用SSL,出了一次超時錯。出錯信息以下:編碼

Fatal error: Uncaught exception 'Zend_Mail_Protocol_Exception' with message 'Connection timed out'.net

相關文章
相關標籤/搜索