标签: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