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;