标签:zendframework2 email 邮件 smtp 邮箱
ZF2中发送email有2种方式,一是通过系统的邮件程序发送email,二是通过smtp协议使用远程的smtp服务器发送email。
相关的类有:
use Zend\Mail\Message;//email消息类 use Zend\Mail\Transport\Sendmail;//通过系统邮件程序的发送类 use Zend\Mail\Transport\Smtp;//通过smtp协议使用远程smtp服务器的发送类 use Zend\Mail\Transport\SmtpOptions;//设置smtp类的参数类
使用也比较简单,以下以mail.qq.com的smtp服务器为例,不多的代码就能实现发送email的功能:
use Zend\Mail\Message; use Zend\Mail\Transport\Sendmail; use Zend\Mail\Transport\Smtp; use Zend\Mail\Transport\SmtpOptions; class TestController extends AbstractActionController { //通过smtp发送邮件 public function sendsmtpmailAction(){ $msg = new Message(); $msg->setFrom("xxxxx@qq.com", "xxxxx") ->setTo("yyyyy@qq.com", "yyyyy") ->setSubject("Email Title") ->setBody('This is an email !'); $smtpOpt = new SmtpOptions(array( 'name' => 'smtp.qq.com', 'host' => 'smtp.qq.com',//qq的免费邮箱服务器 'port' => 25, 'connection_class' => 'login', 'connection_config' => array( 'username' => 'xxxxx',//qq账号,或者申请了字符邮箱名的字符邮箱名 'password' => '1234567890',//邮箱登陆密码 ), )); $trans = new Smtp(); $trans->setOptions($smtpOpt); $trans->send($msg); return new JsonModel(); } //通过系统的邮件程序发送邮件 public function sendmailAction(){ $msg = new Message(); $msg->setFrom("xxxxx@example.com", "xxxxx") ->setTo("yyyyy@qq.com", "yyyyy") ->setSubject("Email Title") ->setBody('This is an email !'); $trans = new Sendmail(); $trans->send($msg); return new JsonModel(); } }
标签:zendframework2 email 邮件 smtp 邮箱
原文地址:http://blog.csdn.net/liuyangwuhan1980/article/details/41680211