如何使用Phoenix框架发送电子邮件

时间:2015-08-14 13:16:04

标签: elixir phoenix-framework

使用Phoenix框架发送电子邮件的最佳和最方便的方法是什么?

3 个答案:

答案 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测试支持,浏览器中的邮箱预览以及星号指向更多用户。