发送邮件与梅勒
<一个类=”doc-action content-edit" href="https://github.com/symfony/symfony-docs/edit/5.1/mailer.rst"> 编辑该页面一个>警告:你浏览的文档欧宝体育电话<一个href=”//www.oldmanjams.com/releases/5.1">欧宝娱乐app下载地址Symfony 5.1一个>,不再维护。
读<一个href=”//www.oldmanjams.com/doc/current/mailer.html">这个页面的更新版本一个>Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。
Mime一个>组件组成强大的系统创建和发送电子邮件,完整的支持多部分消息,树枝集成、CSS内联文件附件和更多。让他们安装:
1
美元作曲家需要symfony /梅勒欧宝娱乐app下载地址代码>< /pre>
1
美元作曲家需要symfony /梅勒欧宝娱乐app下载地址代码>< /pre>
服务 | 安装与 |
---|---|
亚马逊SES | 作曲家需要symfony / am欧宝娱乐app下载地址azon-mailer代码>< /td>
|
Gmail | 作曲家需要symfony / go欧宝娱乐app下载地址ogle-mailer代码>< /td>
|
MailChimp的 | 作曲家需要symfony / ma欧宝娱乐app下载地址ilchimp-mailer代码>< /td>
|
Mailgun | 作曲家需要symfony / ma欧宝娱乐app下载地址ilgun-mailer代码>< /td>
|
邮戳 | 作曲家需要symfony / po欧宝娱乐app下载地址stmark-mailer代码>< /td>
|
SendGrid | 作曲家需要symfony / se欧宝娱乐app下载地址ndgrid-mailer代码>< /td>
|
每个库包含一个<一个href=”//www.oldmanjams.com/doc/5.1/setup.html" class="reference internal">欧宝娱乐app下载地址Symfony Flex食谱一个>这将添加一个配置示例<代码translate="no" class="notranslate">.env代码>文件。例如,假设您希望使用SendGrid。首先,安装:
1
美元作曲家需要symfony / se欧宝娱乐app下载地址ndgrid-mailer代码>< /pre>
你现在有一个新行<代码translate="no" class="notranslate">.env代码>文件,您可以取消:
1 2
# .envMAILER_DSN = sendgrid: / / KEY@default代码>< /pre>
的<代码translate="no" class="notranslate">MAILER_DSN代码>不是一个真正的地址:它是一个方便的格式,可以卸载的梅勒的配置工作。的<代码translate="no" class="notranslate">sendgrid代码>你刚刚安装计划激活SendGrid提供者,它知道所有关于如何通过SendGrid交付消息。的只有你需要改变<代码translate="no" class="notranslate">关键代码>占位符。
每个提供者都有不同的梅勒使用环境变量配置实际协议,交付地址和身份验证。也有一些选项,可以使用查询参数配置的<代码translate="no" class="notranslate">MAILER_DSN代码>——就像<代码translate="no" class="notranslate">地区? =代码>亚马逊SES或Mailgun。一些供应商支持发送通过<代码translate="no" class="notranslate">http代码>,<代码translate="no" class="notranslate">api代码>或<代码translate="no" class="notranslate">smtp代码>。欧宝娱乐app下载地址Symfony选择最好的运输,但力量可以使用:
1 2 3
# .env#力使用SMTP而不是HTTP(默认)MAILER_DSN = sendgrid + smtp: / /美元SENDGRID_KEY@default代码>< /pre>
这个表显示了可用的DSN的完整列表格式为每个第三方提供商:
谨慎
如果您的凭据包含特殊字符,必须url。例如,DSN<代码translate="no" class="notranslate">ses + smtp: / / ABC1234:美国广播公司(abc) + 12/345@default代码>应该配置为<代码translate="no" class="notranslate">ses + smtp: / / ABC1234: abc f345@default % 2 b12 % 2代码>< /p>< /div>
请注意
当使用SMTP发送消息的默认超时之前抛出异常是中定义的值<一个href=”https://www.php.net/manual/en/filesystem.configuration.php" class="reference external" rel="external noopener noreferrer" target="_blank">default_socket_timeout一个>PHP。ini选项。
5.1
的使用<代码translate="no" class="notranslate">default_socket_timeout代码>作为默认超时是在Symfony 5.1中引入的。欧宝娱乐app下载地址
提示
如果你想覆盖默认的主机提供商(使用服务调试问题<代码translate="no" class="notranslate">requestbin.com代码>)、变更<代码translate="no" class="notranslate">默认的代码>您的主机:
1 2 3
# .envMAILER_DSN = mailgun + https://KEY: DOMAIN@example.com MAILER_DSN = mailgun + https://KEY: DOMAIN@example.com: 99代码>< /pre>
注意,该协议总是HTTPs,不能更改。
提示
您还可以使用树枝模板来呈现的HTML和文本内容。读了<一个href=”//www.oldmanjams.com/doc/5.1/mailer.html" class="reference internal">枝:HTML和CSS一个>在本文后面部分了解更多。
树枝模板引擎一个>提供先进的特性,比如CSS样式内联和支持HTML / CSS框架来创建复杂的HTML电子邮件消息。首先,确保树枝安装:
1 2 3 4
美元作曲家需要symfony / tw欧宝娱乐app下载地址ig-bundle#如果你使用non-Symfony应用程序的组件:欧宝娱乐app下载地址#需要symfony / twig-b欧宝娱乐app下载地址ridge作曲家
1 2 3 4
美元作曲家需要symfony / tw欧宝娱乐app下载地址ig-bundle#如果你使用non-Symfony应用程序的组件:欧宝娱乐app下载地址#需要symfony / twig-b欧宝娱乐app下载地址ridge作曲家