使用Phoenix框架发送电子邮件的最佳和最方便的方法是什么?
答案 0 :(得分:22)
我发现的最好方法是使用mailman包。对于发送测试电子邮件,我使用我的gmail帐户使用以下配置mailman
- >
def config do
%Mailman.Context{
config: %Mailman.SmtpConfig{ relay: "smtp.gmail.com",
port: 587,
username: "myusername@gmail.com",
password: "mypassword",
tls: :always },
composer: %Mailman.EexComposeConfig{}
}
end
对于我使用以下内容的电子邮件内容:
def testing_email do
%Mailman.Email{
subject: "Hello Mailman!",
from: "myusername@gmail.com",
to: ["myotherusername@gmail.com"],
text: "Hello Mate",
html: Phoenix.View.render_to_string(MyApp.PageView,"index.html", foo: "bar")
}
end
然后你就做了 - >
1)email = MyApp.Mailer.deliver testing_email
2)Task.await(email)
答案 1 :(得分:6)
查看Bamboo - 它是一个出色的文档库,提供了很好的文档,附带适用于SendGrid和Mandrill的适配器,并提供了一种方便的方法来预览在开发模式下本地发送的电子邮件。它适用于Phoenix,并且也支持渲染模板。
答案 2 :(得分:3)
在尝试了几个之后,我绝对会使用https://github.com/swoosh/swoosh包。它具有最佳documentation测试支持,浏览器中的邮箱预览以及星号指向更多用户。