>php教程 >PHP开发 >Zend_Mail은 이메일 전송 확인 기능을 구현하고 제목이 왜곡되는 문제를 해결합니다.

Zend_Mail은 이메일 전송 확인 기능을 구현하고 제목이 왜곡되는 문제를 해결합니다.

高洛峰
高洛峰원래의
2016-12-26 15:44:551427검색

이 기사의 예에서는 이메일 전송 확인 기능을 구현하고 제목이 왜곡되는 문제를 해결하기 위해 Zend Framework의 Zend_Mail 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

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(NetEase) 메일함도 코드가 깨졌던 문제도 해결되었습니다. 예전에는 인터넷을 참고하여 Zend_Mail에서 기능을 변경한 적이 없는 것 같습니다. Zend Framework 버전 1.6에서 그런 문제가... ZF 팀에서 버그를 수정한 것 같아요... ㅎㅎ...

다음은 제가 직접 구현한 코드입니다.

<?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을 사용하여 이메일을 보내는 원칙입니다. 물론 이메일 첨부 파일을 보내는 등의 고급 용도도 있습니다. 여러 개의 이메일을 동시에 보내는 방법도 있습니다. 다른 이메일을 보내려면... ZF 매뉴얼을 참조하면 됩니다... 더 많은 소통이 가능했으면 좋겠습니다...

이 글이 모든 사람의 PHP 프로그램 설계에 도움이 되기를 바랍니다. Zend 프레임워크 도움말.

이메일 전송 확인 기능을 구현하고 헤더 깨짐 문제를 해결하기 위한 더 많은 Zend_Mail 메소드를 보려면 PHP 중국어 웹사이트의 이메일 관련 기사를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.