不要重新创建发送邮件的轮子!使用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文件。
【Swiftmailer(轻松轻松地从php发送邮件)】发送消息的算法非常容易理解。你创建一个传输, 使用它创建邮件程序, 然后使用邮件程序发送邮件。
根据配置, 邮件可以包含纯文本/文本或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 |
一块蛋糕不是吗?如果对你有用, 请分享此文章。
推荐阅读
- 如何在服务器的生产环境中轻松部署symfony2项目
- 如何使用ILSpy反编译.NET Framework程序集(读取其源代码)
- 如何在WinForms中使用带有C#的SSH.NET(同步和异步)访问SFTP服务器
- 如何在PHP中使用Imagick区分(比较)2个图像
- 如何在WinForms中的CefSharp控件上向本机上下文菜单添加新项
- 如何在线执行TWIG代码
- COMP5911先进工程
- Android,PopupMenu.show()时添加窗口失败
- 当我通过gmail或shareIt共享apk并且没有启动时,Android应用程序崩溃了