如何发送电子邮件
编辑本页警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.3,现已不再维护。
读本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。
如何发送电子邮件
对于任何web应用程序来说,发送电子邮件都是一项经典任务,它具有特殊的复杂性和潜在的缺陷。发送电子邮件的一个解决方案是使用SwiftmailerBundle,而不是重新创建轮子,它利用了斯威夫特梅勒图书馆。此包附带Symfony标准版。欧宝娱乐app下载地址
配置
要使用Swift Mailer,您需要为邮件服务器配置它。
提示
与其设置/使用您自己的邮件服务器,不如使用托管的邮件提供程序,例如山魈,SendGrid,亚马逊SES或其他人。这些会给你一个SMTP服务器,用户名和密码(有时称为密钥),可以与Swift Mailer配置一起使用。
在标准的Symfony安装中欧宝娱乐app下载地址,有一些swiftmailer
配置已经包括:
- YAML
- XML
- PHP
1 2 3 4 5 6
# app / config / config.ymlswiftmailer:交通:“% mailer_transport %”主持人:“% mailer_host %”用户名:“% mailer_user %”密码:“% mailer_password %”
12 3 4 5 6 7 8 9 10 11 12 13 14 15
<!——app/config/config.xml——><??> . xml version="1.0" encoding="UTF-8"<容器xmlns=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services”xmlns: xsi=“http://www.w3.org/2001/XMLSchema-instance”xmlns: swiftmailer=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/swiftmailer”xsi: schemaLocation=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services //www.oldmanjams.com/schema/dic/services/services-1.0.xsd //www.oldmanjams.com/schema/dic/swiftmailer //www.oldmanjams.com/schema/dic/swiftmailer/swiftmailer-1.0.xsd”><swiftmailer:配置运输=“% mailer_transport %”宿主=“% mailer_host %”用户名=“% mailer_user %”密码=“% mailer_password %”/>容器>
1 2 3 4 5 6 7
/ / app / config / config . php$容器->loadFromExtension (“swiftmailer”,数组(“交通”= >“% mailer_transport %”,“主机”= >“% mailer_host %”,“用户名”= >“% mailer_user %”,“密码”= >“% mailer_password %”));
这些值(例如:% mailer_transport %
属性中设置的参数parameters.yml文件。您可以修改该文件中的值,或者直接在这里设置值。
可用的配置属性如下:
运输
(smtp
,邮件
,sendmail
,或Gmail
)用户名
密码
宿主
港口
加密
(tls
,或ssl
)auth_mode
(平原
,登录
,或cram -
)线轴
类型
(如何将消息排队,文件
或内存
支持,请参见如何伪造电子邮件)路径
(在哪里存储消息)
delivery_address
(发送所有邮件的电子邮件地址)disable_delivery
(设置为true完全禁用传递)
发送邮件
Swift Mailer库的工作原理是创建、配置和发送Swift_Message
对象。“邮件程序”负责消息的实际传递,并可通过梅勒
服务。总的来说,发送电子邮件是相当简单的:
12 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
公共函数indexAction($的名字){$消息= \ Swift_Message::newInstance ()->setSubject (“你好邮件”)->setFrom (“send@example.com”)->该太空站(“recipient@example.com”)->setBody ($这->renderView (/ / app /资源/视图/电子邮件/ registration.html.twig“电子邮件/ registration.html.twig”,数组(“名字”= >$的名字)),“text / html”)/* *如果你还想包含一个纯文本版本的消息->addPart($this->renderView('电子邮件/注册。txt. txt. ')嫩枝”,数组('名字' = >名称)美元),“文本/普通”)* /;$这->get (“梅勒”)->发送($消息);返回$这->呈现(…);}
为了保持分离,电子邮件正文存储在模板中,并使用renderView ()
方法。
的美元的消息
object支持更多选项,比如包括附件、添加HTML内容等等。幸运的是,Swift Mailer涵盖了主题创建消息在其文档中有非常详细的说明。欧宝体育电话
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。