当前位置:Gxlcms > PHP教程 > SwiftMailerPHP邮件类

SwiftMailerPHP邮件类

时间:2021-07-01 10:21:17 帮助过:26人阅读

一、Swift Mailer简介

Swift Mailer是一个PHP邮件发送类。它不依赖于PHP自带的mail()函数,因为该函数在发送多个邮件时占用的系统资源很高。Swift直接与SMTP 服务器通讯,具有非常高的发送速度和效率。

Swift Mailer的特点:

1、使用SMTP、sendmail、postfix或者你自己可以自定义传输实现发送电子邮件

2、需要用户名和密码和或加密支持的服务器

3、从头部注入攻击保护不请求数据的内容

4、发送MIME兼容的HTML/multipart邮件

5、使用事件驱动的插件方式来定制库

6、处理大附件和内嵌/嵌入图像时低内存占用

7、swiftmailer发邮件效率比phpmailer高很多,使用起来很方便

二、Swift Mailer使用

require_once 'lib/swift_required.php';
function sendMail(){
/*
$transport = Swift_SmtpTransport::newInstance('smtp.163.com', 25);
$transport->setUsername('username@163.com');
$transport->setPassword('password');
$transport = Swift_SendmailTransport::newInstance('/usr/sbin/exim -bs');
$transport = Swift_MailTransport::newInstance();
*/
$transport = Swift_SmtpTransport::newInstance('smtp.163.com', 25);
$transport->setUsername('username@163.com');
$transport->setPassword('password');
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance();
$message->setFrom(array('username@163.com' => 'name'));
$message->setTo(array('whoever@163.com' => 'Mr.Right', 'whoever@qq.com' => 'Mr.Wrong'));
$message->setSubject("This is a subject");
$message->setBody('Here is the message', 'text/html', 'utf-8'); //'text/plain'
$message->attach(Swift_Attachment::fromPath('pic.jpg', 'image/jpeg')->setFilename('rename_pic.jpg'));
try{
$mailer->send($message);
}
catch (Swift_ConnectionException $e){
echo 'There was a problem communicating with SMTP: ' . $e->getMessage();
}
}

项目地址:http://swiftmailer.org/

人气教程排行