Мы используем SendGrid в производственном приложении, и он отлично работает. Однако недавно мы пытались протестировать новую функцию / электронную почту в стадии разработки и, похоже, не можем получить электронное письмо для отправки. Есть идеи, где мы ошибаемся? Мы используем функции, аналогичные производственным, и мы также следовали руководству по внедрению SendGrid. Такое ощущение, что я упускаю что-то простое!
Сначала я экспортировал SENDGRID_USERNAME
и SENDGRID_PASSWORD
и для удовольствия добавил в свой .bash_profile
export SENDGRID_USERNAME=xxxxxxx
export SENDGRID_PASSWORD=xxxxxxx
Я подтвердил в консоли, что они существуют и верны.
Создал developer_email.html.erb
файл:
<p>Hi! Sendgrid test</p>
И DeveloperMailer
файл:
class DeveloperMailer < ActionMailer::Base
default from: "[email protected]"
def developer_email(developer_id)
@recipients = ["[email protected]"]
mail(to: @recipients, subject: 'Does sendgrid work?')
end
end
Обновлен файл development.rb
:
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.sendgrid.net',
port: '587',
domain: 'localhost:3000',
user_name: ENV['SENDGRID_USERNAME'],
password: ENV['SENDGRID_PASSWORD'],
authentication: :plain,
enable_starttls_auto: true }
Когда я иду отправить электронное письмо в консоли, оно действует так, как будто оно было отправлено, но на самом деле электронное письмо никогда не приходит:
DeveloperMailer.developer_email (1) # для отправки электронного письма. Кажется, работает:
2.3.1 :001 > DeveloperMailer.developer_email(1)
Rendered developer_mailer/developer_email.html.erb (1.5ms)
DeveloperMailer#developer_email: processed outbound mail in 133.3ms
=> #<Mail::Message:70263824429080, Multipart: false, Headers: <From: [email protected]>, <To: ["[email protected]"]>, <Subject: Does SendGrid Work?>, <Mime-Version: 1.0>, <Content-Type: text/html>>
#But I never get anything sent to my email
Есть идеи, что мне может не хватать?
ИЗМЕНИТЬ
Обновлен файл development.rb:
config.action_mailer.raise_delivery_errors = true
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: 'smtp.sendgrid.net',
domain: 'example.com',
user_name: ENV['SENDGRID_USERNAME'],
password: ENV['SENDGRID_PASSWORD'],
authentication: :plain,
enable_starttls_auto: true }
Электронной почты по-прежнему нет.