Каков наилучший и наиболее удобный способ отправки писем с использованием феникс-фреймворка?
Как отправлять электронные письма с помощью феникс-фреймворка
Ответ 1
Лучший способ, который я нашел, - использовать mailman. Для отправки тестовых писем я использовал свою учетную запись gmail, используя следующую конфигурацию для mailman
→
def config do
%Mailman.Context{
config: %Mailman.SmtpConfig{ relay: "smtp.gmail.com",
port: 587,
username: "[email protected]",
password: "mypassword",
tls: :always },
composer: %Mailman.EexComposeConfig{}
}
end
и для содержимого электронной почты я использовал следующее:
def testing_email do
%Mailman.Email{
subject: "Hello Mailman!",
from: "[email protected]",
to: ["[email protected]"],
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)
Ответ 2
Отъезд Bamboo - это отличная библиотека с отличной документацией, поставляется с адаптерами для SendGrid и Mandrill и имеет удобный способ для предварительного просмотра электронных писем, отправленных локально в режиме разработки. Он отлично работает с Phoenix и имеет поддержку для создания шаблонов.
Ответ 3
Попробовав несколько, я обязательно пойду с пакетом https://github.com/swoosh/swoosh. Он имеет лучшую документацию, поддержку тестирования, предварительный просмотр почтового ящика в браузере, а число звезд указывает на большее количество пользователей.