首页 >php教程 >PHP开发 >Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法

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

高洛峰
高洛峰原创
2016-12-26 15:44:551430浏览

本文实例讲述了Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法。分享给大家供大家参考,具体如下:

Zend Framework 里Zend_Mail这个组件用起来还是很方便的..它提供了通用化的编写与发送文本内容的邮件,当然它也兼容MIME标准的多个多个段的邮件消息的功能.Zend_Mail里通过默认的Zend_Mail_Transport_SendMail传输或能过Zend_Mail_Transport_Smtp来发送我们的电子邮件.

Zend_Mail发送最简单的邮件功能.通过Zend_Mail_Transport_Sendmail发来送.我们只要指定邮件的一个收件人,一个主题,一个邮件内容和一个发件人就可以了.它的代码如下(有注解:):

<?php
require_once &#39;Zend/Mail.php&#39;;
$mail = new Zend_Mail("UTF-8");//设置邮件编码
$mail->setBodyText(&#39;你的邮件内容放在这里!.&#39;) //发送电子邮件地址以及一些发送人的说明信息
->setFrom(&#39;fromemail@example.com&#39;, &#39;发送人的说明信息&#39;) //收信人电子邮件地址以及一些收信人的说明信息
->addTo(&#39;toemail@example.com&#39;, &#39;收信人的说明信息&#39;) //电子邮件标题,解决乱码
->setSubject("=?UTF-8?B?".base64_encode(&#39;电子邮件标题&#39;)."?=")  ->send();
?>

另外一个就是通过一个SMTP发送电子邮件.不过你需要配置你的邮件服务器.这一步大家可以去GOOGLE一下..我就不在这里多说了.我这里是能守GOOGLE来实现发送电子邮件的..经过我的测试.我的电子邮件到送到自己的Gmail和163(网易)的邮箱都没有问题.乱码问题也解决了..标题长度限制问题也没有出现..以前是自己参考网上改了Zend_Mail里面的函数..现在用1.6版的Zend Framework好像没有这样的问题..我想是ZF团队改了里面的BUG吧...呵呵..

下面是自己的实现的代码:

<?php
require_once ROOT_PATH . &#39;/Zend/Mail.php&#39;;
require_once ROOT_PATH . &#39;/Zend/Mail/Transport/Smtp.php&#39;;
$mail = new Zend_Mail("UTF-8");//设置邮件编码
$config = array(
 &#39;auth&#39;=>&#39;login&#39;, &#39;username&#39;=>"kylingood",//电子件用户名
 &#39;password&#39;=>"这里是填写你电子邮件密码",
 &#39;ssl&#39;=>"ssl"
);
$transport = new Zend_Mail_Transport_Smtp(&#39;smtp.gmail.com&#39;,$config);
$mail->setDefaultTransport($transport);
$mailcontent=&#39;欢迎您的到来!<br /> 您的注册名为:
&#39;.$thisArray [&#39;username&#39;].&#39;<br /> 您的密码为:&#39;.$thisArray [&#39;userpass&#39;].&#39;
<br /> 请您点击这里的地址:<a href="#"><font color="red">激活
</font> </a>您的帐号!
请尽快删除此邮件,以免别人偷看到您的密码<br /> 如果忘了密码,
可以到社区写信请管理员重新设定<br />&#39;;
$mail->setBodyHtml($mailcontent);//可以发送HTML的邮件.真方便! 
$mail->setFrom(&#39;kylingood@gmail.com&#39;, &#39;kylingood&#39;);
$mail->addTo($email, &#39;kylingood&#39;); $title=$thisArray [&#39;username&#39;].&#39;,用户您好,这是网站激活验证邮件!&#39;;
$mail->setSubject("=?UTF-8?B?".base64_encode($title)."?=");
$mail->send();
?>

好了..大致用Zend_Mail发送邮件就是这个原理..当然还有更多高级点的用法.比如说邮件发送附件..一次性发送多个电子邮件.还有还有就是使用不同的Transport对象来发送不同的邮件...大家可以参考ZF手册来做啊...希望大家可以多多交流..

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

更多Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法l邮件相关文章请关注PHP中文网!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn