Home  >  Article  >  php教程  >  Zend_Mail implements the verification function of sending email and solves the problem of garbled title

Zend_Mail implements the verification function of sending email and solves the problem of garbled title

高洛峰
高洛峰Original
2016-12-26 15:44:551386browse

The example of this article describes the Zend_Mail of the Zend Framework framework to implement the verification function of sending email and solve the method of garbled title. I share it with you for your reference. The details are as follows:

The Zend_Mail component in Zend Framework is very convenient to use. It provides a universal way to write and send emails with text content. Of course, it is also compatible with the MIME standard. The function of multiple multi-segment email messages. Zend_Mail uses the default Zend_Mail_Transport_SendMail transport or can send our emails through Zend_Mail_Transport_Smtp.

Zend_Mail is the simplest email function. Send it through Zend_Mail_Transport_Sendmail. We only need to specify a recipient, a subject, an email content and a sender of the email. The code is as follows (with comments:):

<?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();
?>

The other one is to send an email through an SMTP Email. But you need to configure your email server. You can go to GOOGLE for this step. I won’t say more here. I can use GOOGLE to send emails here. After my test, my email There is no problem when emails are sent to my Gmail and 163 (NetEase) mailboxes. The garbled code problem has also been solved. The title length limit problem has not appeared either. In the past, I changed the functions in Zend_Mail by referring to the Internet. Now I use 1.6 The version of Zend Framework doesn't seem to have such a problem... I think the ZF team has fixed the bug in it... Haha...

The following is the code of my own implementation:

<?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();
?>

Okay Okay.. This is basically the principle of using Zend_Mail to send emails. Of course, there are more advanced uses. For example, sending attachments via email, sending multiple emails at one time, and using different Transport objects to send them. Different emails... You can refer to the ZF manual to do it... I hope you can communicate more...

I hope this article will be helpful to everyone's PHP programming based on the Zend Framework framework.

For more Zend_Mail implementation of verification function for sending emails and methods to solve garbled headers, please pay attention to the PHP Chinese website for email-related articles!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn