gpt4 book ai didi

amazon-ec2 - 我可以将 Amazon 的 SES 与 Symfony2 和 Swiftmailer Bundle 一起使用吗?

转载 作者:行者123 更新时间:2023-12-02 12:15:19 25 4
gpt4 key购买 nike

我在运行 64 位版本 CentOS 的 Amazon ec2 上托管一个网站。

该网站有一个简单的联系我们表单,提交后需要向多个地址发送电子邮件(非常基本)。

有人使用过带有 Symfony2 和 Swiftmailer Bundle 的 Amazon SES 吗?如果是这样,您是否建议使用 SES 或更传统的电子邮件服务器来执行此类任务?

最佳答案

可以使用 swiftmailer 库附带的 native SMTP 传输通过 SES 发送电子邮件。以下示例使用版本 4.2.2 进行测试。

亚马逊 SES requires usage of TLS encryption .

Swift_SmtpTransport 传输类可以通过传递 tls 作为第三个构造函数参数来配置为使用 TLS 加密:

require_once './vendor/swiftmailer/swiftmailer/lib/swift_required.php';

// Create the Transport
$transport = Swift_SmtpTransport::newInstance(
'email-smtp.us-east-1.amazonaws.com',
25,
'tls'
)
->setUsername('AWS_ACCESS_KEY')
->setPassword('AWS_SECRET_KEY')
;

// Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);

// Create a message
$message = Swift_Message::newInstance('Wonderful Subject')
->setFrom(array('example@example.org'))
->setTo(array('example@example.org' => 'John Doe'))
->setBody('Here is the message itself')
;

// Send the message
$result = $mailer->send($message);

在 Symfony2 中,您可以配置 swiftmailer 服务以使用 TLS 加密:

# app/config/config.yml
swiftmailer:
transport: smtp
host: email-smtp.us-east-1.amazonaws.com
username: AWS_ACCESS_KEY
password: AWS_SECRET_KEY
encryption: tls

直接从 EC2 实例上安装的邮件服务器发送电子邮件不太可靠,因为 EC2 IP 地址可能已列入黑名单。建议使用受信任的邮件服务器,因此使用 SES 似乎是一个好主意。

关于amazon-ec2 - 我可以将 Amazon 的 SES 与 Symfony2 和 Swiftmailer Bundle 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9185160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com