Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
发布:smiling 来源: PHP粉丝网 添加日期:2021-07-20 21:16:10 浏览: 评论:0
这篇文章主要介绍了Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法,详细分析了Zend_Mail组件实现邮件发送的具体步骤,并给出了标题乱码的解决方法,需要的朋友可以参考下。
本文实例讲述了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手册来做啊...希望大家可以多多交流..
Tags: Zend_Mail Zend发送Email
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)