欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Swift Mailer PHP邮件类

程序员文章站 2022-04-05 18:25:47
...
一、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/