Zend Framework Mail通过网易免费邮箱发送邮件

做为一个苦逼的个人站长,做一个小网站,本来愿意来看的人就不多,再弄一个不能找回密码的会员系统?基本上被判死刑了 。阿里云的短信也要钱啊,而且只支持PHP 5.5以上,我的网站还停留在PHP 5.3的水平。升级?怕又惹出新麻烦来。反正,在中国大陆,你用服务器来发邮件,别的邮件服务器是不会收的。我用服务器上的Postfix,用命令行mail测试过。都发不了。

于是,想用各大网站的邮件服务器来代劳,可是QQ邮箱不能、新浪邮箱不能。如果我说错了,请各位纠正我。后来,看到网上有人说网易的邮箱可以,于是就注册一个来试试。结果,真的可以!网易真伟大!谢谢!

开通邮箱后,得申请一个授权码,就是在程序中要使用的密码。方法如下:

163邮箱如何开始POP3协议,获取授权码

然后,我找到这篇神作,感谢两位作者!

Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法

当然,有人也使用PHPMAILER,我的应用,就是发送一封邮件给会员,可以让他到一个特殊的通道去修改会员密码,能发信就成。这个方法使用的就是Zend Framework的Mail库。

//当然了,你前面得判断一下那个邮箱有没有注册会员
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'

转载于:https://my.oschina.net/u/589241/blog/1807440

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值