如何发送电子邮件
编辑本页警告:您正在浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 2.4,现已不再维护。
读本页的更新版本用于Sy欧宝娱乐app下载地址mfony 6.2(当前稳定版本)。
如何发送电子邮件
对于任何web应用程序来说,发送电子邮件都是一项经典任务,它具有特殊的复杂性和潜在的缺陷。发送电子邮件的一个解决方案是使用SwiftmailerBundle,而不是重新创建轮子,它利用了斯威夫特梅勒图书馆。
请注意
在使用bundle之前,不要忘记在内核中启用它:
1 2 3 4 5 6 7 8 9 10
公共函数registerBundles(){$包=数组(/ /……新欧宝娱乐app下载地址Symfony \包\ SwiftmailerBundle \ SwiftmailerBundle ());/ /……}
配置
在使用Swift Mailer之前,请确保包含它的配置。唯一必须配置的参数是运输
:
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8
# app / config / config.ymlswiftmailer:交通:smtp加密:sslauth_mode:登录主持人:smtp.gmail.com用户名:your_username密码:your_password
12 3 4 5 6 7 8 9 10 11 12 13 14
<!——app/config/config.xml——><!——xmlns:swiftmailer="http://s欧宝娱乐app下载地址ymfony.com/schema/dic/swiftmailer" //www.oldmanjams.com/schema/dic/swiftmailer //www.oldmanjams.com/schema/dic/swiftmailer/swiftmailer-1.0.xsd——><swiftmailer:配置运输=“smtp”加密=“ssl”auth-mode=“登录”宿主=“smtp.gmail.com”用户名=“your_username”密码=“your_password”/>
1 2 3 4 5 6 7 8 9
/ / app / config / config . php$容器->loadFromExtension (“swiftmailer”,数组(“交通”= >“smtp”,“加密”= >“ssl”,“auth_mode”= >“登录”,“主机”= >“smtp.gmail.com”,“用户名”= >“your_username”,“密码”= >“your_password”));
大多数Swift Mailer配置处理的是消息本身应该如何传递。
可用的配置属性如下:
运输
(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
公共函数indexAction($的名字){$消息= \ Swift_Message::newInstance ()->setSubject (“你好邮件”)->setFrom (“send@example.com”)->该太空站(“recipient@example.com”)->setBody ($这->renderView (“HelloBundle:你好:email.txt.twig”,数组(“名字”= >$的名字));$这->get (“梅勒”)->发送($消息);返回$这->呈现(…);}
为了保持分离,电子邮件正文存储在模板中,并使用renderView ()
方法。
的美元的消息
object支持更多选项,比如包括附件、添加HTML内容等等。幸运的是,Swift Mailer涵盖了主题创建消息在其文档中有非常详细的说明。欧宝体育电话
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。