php發郵件:swiftmailer, php郵件庫——swiftmailer
最近看到一個好的php郵件庫,與phpmailer作用一樣,但性能比phpmailer好,尤其是在處理附件的能力上,發送郵件成功的幾率也高。
github地址:https://github.com/swiftmailer/swiftmailer.git
require_once ("lib/swift_required.php");
// 創建Transport對象,設置郵件服務器和端口號,並設置用戶名和密碼以供驗證
$transport = Swift_SmtpTransport::newInstance('smtp.163.com', 25)
->setUsername('username@163.com')
->setPassword('password');
// 創建mailer對象
$mailer = Swift_Mailer::newInstance($transport);
// 創建message對象
$message = Swift_Message::newInstance();
// 設置郵件主題
$message->setSubject('這是一份測試郵件')
// 設置郵件內容,可以省略content-type
->setBody(
'<html>' .
' <head></head>' .
' <body>' .
' Here is an image <img src="' . // 內嵌文件
$message->embed(Swift_Image::fromPath('image.jpg')) .
'" alt="Image" />' .
' Rest of message' .
'<a href="http://www.baidu.com">百度</a>'.
' </body>' .
'</html>',
'text/html'
);
// 創建attachment對象,content-type這個參數可以省略
$attachment = Swift_Attachment::fromPath('image.jpg', 'image/jpeg')
->setFilename('cool.jpg');
// 添加附件
$message->attach($attachment);
// 用關聯數組設置收件人地址,可以設置多個收件人
$message->setTo(array('to@qq.com' => 'toName'));
// 用關聯數組設置發件人地址,可以設置多個發件人
$message->setFrom(array(
'from@163.com' => 'fromName',
));
// 添加抄送人
$message->setCc(array(
'Cc@qq.com' => 'Cc'
));
// 添加密送人
$message->setBcc(array(
'Bcc@qq.com' => 'Bcc'
));
// 設置郵件回執
$message->setReadReceiptTo('receipt@163.com');
// 發送郵件
$result = $mailer->send($message);
測試代碼,測試例子:
$Requests = __DIR__ . '/../../../vendor/swiftmailer/swiftmailer/lib/swift_required.php';
require_once ($Requests);
//Requests::register_autoloader ();
// 創建Transport對象,設置郵件服務器和端口號,並設置用戶名和密碼以供驗證
$transport = \Swift_SmtpTransport::newInstance('smtp.exmail.qq.com', 25)
->setUsername('business@xxxx.com')
->setPassword('密碼');
// 創建mailer對象
$mailer = \Swift_Mailer::newInstance($transport);
// 創建message對象
$message = \Swift_Message::newInstance();
// 設置郵件主題
$message->setSubject('這是一份測試郵件')->setBody('aaaa');
//發送html文檔
$message->setSubject('這是一份測試郵件')->setContent("text/html")->setBody('aaaa');
// 用關聯數組設置收件人地址,可以設置多個收件人
$message->setTo(array('muyang@xxxx.com' => '姓名'));
// 用關聯數組設置發件人地址,可以設置多個發件人
$message->setFrom(array( 'business@xxxxx.com' => '姓名', ));
// 發送郵件
$result = $mailer->send($message); echo "aaa"; exit;
