个性化阅读
专注于IT技术分析

Swiftmailer:轻松轻松地从php发送邮件

点击下载

不要重新创建发送邮件的轮子!使用Swift Mailer库。

Swift Mailer可以集成到任何用PHP 5编写的Web应用程序中, 从而提供了一种灵活而优雅的面向对象的方法来发送具有易于实现的众多功能的电子邮件。

在本文中学习如何安装和使用此库。

安装Swiftmailer的首选方法是通过Composer:

$ composer require swiftmailer/swiftmailer

或在require块中添加到你的composer.json文件

"swiftmailer/swiftmailer": "v5.4.0", 

或者如果你使用Symfony 2

"symfony/swiftmailer-bundle": "~2.3", 

如果你不使用Composer, 请在https://github.com/swiftmailer/swiftmailer中下载zip文件。

发送消息的算法非常容易理解。你创建一个传输, 使用它创建邮件程序, 然后使用邮件程序发送邮件。

根据配置, 邮件可以包含纯文本/文本或html /文本。

在这里了解更多

如果SwiftMailer类不存在, 如果作曲家自动加载器不起作用, 别忘了用php要求它

require_once 'lib/swift_required.php';

从Outlook发送邮件有些不同, 因为你可以看到Outlook使用TLS加密而不是SSL并使用端口587。

$transport = \Swift_SmtpTransport::newInstance()
            ->setUsername('mymail@outlook.com')->setPassword('mypassword')
            ->setHost('smtp-mail.outlook.com')
            ->setPort(587)->setEncryption('tls');

$mailer = \Swift_Mailer::newInstance($transport);
        
$message = \Swift_Message::newInstance()
       ->setSubject($param['title'])
       ->setFrom(array('mymail@outlook.com' => 'I am someone'))
       ->setTo(array('mail@mail.com' => "mail@mail.com"))
       ->addPart("<h1>Welcome</h1>", 'text/html')
;
        
$result = $mailer->send($message);

Google使用SSL加密和端口465。重要的是要知道, 有时候gmail帐户不允许使用swiftmailer发送邮件, 你需要在gmail帐户中取消选中”允许在不安全的设备上使用”属性。

$transport = \Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')->setUsername('mymail@gmail.com')->setPassword('mypassword');

$mailer = \Swift_Mailer::newInstance($transport);
$message = \Swift_Message::newInstance('Our Code World Newsletter')
   ->setFrom(array('mymail@gmail.com' => 'Our Code World'))
   ->setTo(array("mail@email.com" => "mail@mail.com"))
   ->setBody("<h1>Welcome</h1>", 'text/html');
$result = $mailer->send($message);

Zoho使用SSL加密和端口465。

$transport = \Swift_SmtpTransport::newInstance('smtp.zoho.com', 465, 'ssl')->setUsername('mymail@gmail.com')->setPassword('mypassword');

$mailer = \Swift_Mailer::newInstance($transport);
$message = \Swift_Message::newInstance('Test')
     ->setFrom(array('mymail@zoho.com' => 'Our Code World'))
     ->setTo(array("mail@email.com" => "mail@mail.com"))
     ->setBody("<h1>Welcome</h1>", 'text/html');
$mailer->send($message);

swiftmailer用户经常遇到的问题是, hotmail, zoho或gmail的smtp是什么(或者我的电子邮件帐户的smtp是什么)?

好吧, 下面的列表包含市场上许多邮件客户端的SMTP配置:

供应商 网址 SMTP设置
1&1 1and1.com smtp.1and1.com
航空邮件 Airmail.net mail.airmail.net
美国在线 Aol.com Smtp.aol.com
美国电话电报公司 Att.net Outbound.att.net
蓝温 Bluewin.ch smtpauths.bluewin.ch
BT连接 Btconnect.com mail.btconnect.tom
康卡斯特 Comcast.net smtp.comcast.net
Earthlink Earthlink.net smtpauth.earthlink.net
邮箱 Gmail.com smtp.gmail.com
Gmx Gmx.net mail.gmx.net
流行音乐 Hotpop.com mail.hotpop.com
Libero 自由 mail.libero.it
莱科斯 Lycos.com smtp.lycos.com
O2 o2.com smtp.o2.com
橙子 Orange.net smtp.orange.net
Outlook.com(以前的Hotmail) Outlook.com smtp.live.com
Mail.tin.it
提斯卡利 Tiscali.co.uk smtp.tiscali.co.uk
威瑞森 Verizon.net Verizon.net
处女 Virgin.net smtp.virgin.net
瓦纳杜 Wanadoo.fr smtp.wanadoo.fr
雅虎 Yahoo.com smtp.mail.yahoo.com
佐霍 zoho.com/mail/ smtp.zoho.com

主要资源:http://www.serversmtp.com/en/what-is-my-smtp

一块蛋糕不是吗?如果对你有用, 请分享此文章。

赞(0)
未经允许不得转载:srcmini » Swiftmailer:轻松轻松地从php发送邮件

评论 抢沙发

评论前必须登录!