This article describes the example of Zend_Mail of the Zend Framework framework to implement the verification function of sending emails and How to solve the garbled title. Share it with everyone 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 function of multiple multi-segment email messages of the MIME standard. Zend_Mail We can send our emails via the default Zend_Mail_Transport_SendMail transport or via 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. Its code is as follows (with comments: ):
<?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(); ?>
The other is to send emails through SMTP. But you need to configure your mail 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 emails were sent to my Gmail and 163 (NetEase) mailboxes without any problem. The garbled code problem was also solved. The title length limit problem did not appear either. I used to refer to it online. Changed the functions in Zend_Mail. Now using Zend Framework version 1.6, there seems to be no such problem. I think the ZF team has changed the BUG in it... Haha..
The following is the code of your own implementation:
<?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(); ?>
Okay.. This is basically the principle of using Zend_Mail to send emails. Of course, there are more advanced uses. For example, sending email attachments..Sending multiple emails at once. There are also ways to use different Transport object to send different emails... You can refer to the ZF manual to do it... I hope everyone can communicate more..
Readers who are interested in more zend-related content can check out the special topics of this site: "Zend FrameWork Framework Introductory Tutorial", "php Excellent Development Framework Summary", "Yii Framework Introduction and Summary of Common Techniques", "ThinkPHP Introductory Tutorial" , "php object-oriented programming introductory tutorial", "php mysql database operation introductory tutorial" and "php common database operation skills summary"
I hope this article will be helpful to everyone’s PHP programming based on the Zend Framework framework.