梅勒组件
编辑该页面警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 4.3,不再维护。
读这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.3(当前的稳定版本)。
梅勒组件
梅勒组件帮助发送邮件。
如果你使用Symfony框架,阅读欧宝娱乐app下载地址欧宝娱乐app下载地址Symfony框架梅勒文档欧宝体育电话。
4.3
梅勒组件是在Symfony 4.3中引入的,它仍然被认为是一个欧宝娱乐app下载地址实验功能。
安装
1
美元作曲家需要symfony /梅勒欧宝娱乐app下载地址
请注意
如果你安装这个组件之外的Symfony应用程序,你必须要求欧宝娱乐app下载地址供应商/ autoload.php
文件在你的代码,使作曲家提供的类加载机制。读这篇文章为更多的细节。
使用
梅勒组件有两个主要类:a运输
和梅勒
本身:
1 2 3 4 5 6
使用欧宝娱乐app下载地址\组件\梅勒\梅勒;使用欧宝娱乐app下载地址\组件\梅勒\运输\Smtp\EsmtpTransport;美元运输=新EsmtpTransport (“localhost”);美元梅勒=新梅勒(美元运输);美元梅勒- >发送(美元电子邮件);
的美元的电子邮件
通过创建对象Mime组件。
运输
唯一的运输是预装SMTP。
下面是其他受欢迎的供应商列表中内置支持:
服务 | 安装与 |
---|---|
亚马逊SES | 作曲家需要symfony / am欧宝娱乐app下载地址azon-mailer |
Gmail | 作曲家需要symfony / go欧宝娱乐app下载地址ogle-mailer |
MailChimp的 | 作曲家需要symfony / ma欧宝娱乐app下载地址ilchimp-mailer |
Mailgun | 作曲家需要symfony / ma欧宝娱乐app下载地址ilgun-mailer |
邮戳 | 作曲家需要symfony / po欧宝娱乐app下载地址stmark-mailer |
SendGrid | 作曲家需要symfony / se欧宝娱乐app下载地址ndgrid-mailer |
例如,假设您想使用谷歌的Gmail SMTP服务器。首先,安装:
1
美元作曲家需要symfony / go欧宝娱乐app下载地址ogle-mailer
然后,使用SMTP Gmail运输:
1 2 3 4 5 6
使用欧宝娱乐app下载地址\组件\梅勒\桥\谷歌\Smtp\GmailTransport;使用欧宝娱乐app下载地址\组件\梅勒\梅勒;美元运输=新GmailTransport (“用户”,“通过”);美元梅勒=新梅勒(美元运输);美元梅勒- >发送(美元电子邮件);
每个提供者提供3传输:标准SMTP、HTTP(它使用提供者的API,但身体是由梅勒组件),API(它使用的API提供者创建无法控制身体,功能也可能是有限的)。
梅勒组件提供了一种方便的方法来创建DSN的运输:
1 2 3
使用欧宝娱乐app下载地址\组件\梅勒\运输;美元运输=运输::fromDsn (美元dsn);
在哪里dsn美元
取决于你想使用提供者。对于普通的SMTP,使用smtp: / /用户:pass@example.com
或smtp: / / sendmail
使用sendmail
二进制文件。为第三方供应商,是指如下表:
提供者 | SMTP | HTTP | API |
---|---|---|---|
亚马逊SES | smtp: / / ACCESS_KEY: SECRET_KEY@ses | http://ACCESS_KEY SECRET_KEY@ses | api: / / ACCESS_KEY: SECRET_KEY@ses |
谷歌Gmail | smtp: / /用户名:PASSWORD@gmail | n /一个 | n /一个 |
Mailchimp的山魈 | smtp: / /用户名:PASSWORD@mandrill | http://KEY@mandrill | api: / / KEY@mandrill |
Mailgun | smtp: / /用户名:PASSWORD@mailgun | http://KEY DOMAIN@mailgun | api: / /关键:DOMAIN@mailgun |
邮戳 | smtp: / / ID: ID@postmark | n /一个 | api: / / KEY@postmark |
Sendgrid | smtp: / / apikey: KEY@sendgrid | n /一个 | api: / / KEY@sendgrid |
高可用性
欧宝娱乐app下载地址Symfony的梅勒支持高可用性通过一个叫做“切换”的技术,以确保即使一个邮件服务器发送的邮件失败。
故障转移运输配置了两个或两个以上的传输了| |
接线员:
1
美元dsn=“api: / / id@postmark | | smtp: / / key@sendgrid”;
梅勒将开始使用第一个交通工具。如果发送失败,梅勒不会重试和其他传输,但它会自动切换到下一个传输以下交付。
负载平衡
欧宝娱乐app下载地址Symfony的梅勒支持负载平衡通过一种称为“循环”的技术邮件工作负载分发到多个传输。
循环运输配置了两个或两个以上的传输了& &
接线员:
1
美元dsn=“api: / / id@postmark & & smtp: / / key@sendgrid '
梅勒将开始使用第一个运输,如果失败了,它将重试相同的交付下一个传输,直到其中一个成功(或失败),直到所有。
异步发送邮件
如果你想异步发送邮件,安装通讯组件。
1
美元作曲家需要symfony /信使欧宝娱乐app下载地址
然后,实例化并通过MessageBus
作为第二个参数梅勒
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31
使用欧宝娱乐app下载地址\组件\梅勒\梅勒;使用欧宝娱乐app下载地址\组件\梅勒\信使\MessageHandler;使用欧宝娱乐app下载地址\组件\梅勒\信使\SendEmailMessage;使用欧宝娱乐app下载地址\组件\梅勒\SmtpEnvelope;使用欧宝娱乐app下载地址\组件\梅勒\运输;使用欧宝娱乐app下载地址\组件\信使\处理程序\HandlersLocator;使用欧宝娱乐app下载地址\组件\信使\MessageBus;使用欧宝娱乐app下载地址\组件\信使\中间件\HandleMessageMiddleware;使用欧宝娱乐app下载地址\组件\Mime\地址;美元dsn=“change-dsn-accordingly”;美元运输=运输::fromDsn (美元dsn);美元处理程序=新MessageHandler (美元运输);美元公共汽车=新MessageBus ([新HandleMessageMiddleware (新HandlersLocator ([SendEmailMessage::类= > [美元处理程序]]))));美元梅勒=新梅勒(美元运输,美元公共汽车);美元梅勒- >发送(美元电子邮件);/ /你可以传递一个可选的信封美元梅勒- >发送(美元电子邮件,新SmtpEnvelope (新地址(“sender@example.com”),(新地址(“recipient@example.com”)));
了解更多
想要了解更多关于如何使用梅勒组件,请参阅欧宝娱乐app下载地址Symfony框架梅勒文档欧宝体育电话。