欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-04-03 18:22:46
本文实例讲述了zend framework框架之zend_mail实现发送email邮件验证功能及解决标题乱码的方法。分享给大家供大家参考,具体如下: zend fram...

本文实例讲述了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 'zend/mail.php';
$mail = new zend_mail("utf-8");//设置邮件编码
$mail->setbodytext('你的邮件内容放在这里!.') //发送电子邮件地址以及一些发送人的说明信息
->setfrom('fromemail@example.com', '发送人的说明信息') //收信人电子邮件地址以及一些收信人的说明信息
->addto('toemail@example.com', '收信人的说明信息') //电子邮件标题,解决乱码
->setsubject("=?utf-8?b?".base64_encode('电子邮件标题')."?=")  ->send();
?>

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

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

<?php
require_once root_path . '/zend/mail.php';
require_once root_path . '/zend/mail/transport/smtp.php';
$mail = new zend_mail("utf-8");//设置邮件编码
$config = array(
 'auth'=>'login', 'username'=>"kylingood",//电子件用户名
 'password'=>"这里是填写你电子邮件密码",
 'ssl'=>"ssl"
);
$transport = new zend_mail_transport_smtp('smtp.gmail.com',$config);
$mail->setdefaulttransport($transport);
$mailcontent='欢迎您的到来!<br /> 您的注册名为:
'.$thisarray ['username'].'<br /> 您的密码为:'.$thisarray ['userpass'].'
<br /> 请您点击这里的地址:<a href="#"><font color="red">激活
</font> </a>您的帐号!
请尽快删除此邮件,以免别人偷看到您的密码<br /> 如果忘了密码,
可以到社区写信请管理员重新设定<br />';
$mail->setbodyhtml($mailcontent);//可以发送html的邮件.真方便! 
$mail->setfrom('kylingood@gmail.com', 'kylingood');
$mail->addto($email, 'kylingood'); $title=$thisarray ['username'].',用户您好,这是网站激活验证邮件!';
$mail->setsubject("=?utf-8?b?".base64_encode($title)."?=");
$mail->send();
?>

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

更多关于zend相关内容感兴趣的读者可查看本站专题:《zend framework框架入门教程》、《php优秀开发框架总结》、《yii框架入门及常用技巧总结》、《thinkphp入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于zend framework框架的php程序设计有所帮助。