SendGrid не отправляет электронные письма Heroku - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь отправлять письма с помощью SendGrid из моего приложения на Rails (используя руководство Hartl).Это не сработало, просто используя аддон в Heroku, потому что мне нужна была моя кредитная карта.Затем я зарегистрировался в SendGrid и использовал свои учетные данные, как указано выше, но все еще не получил почту.Здесь выше мой файл production.rb.Некоторая помощь, пожалуйста?

  config.action_mailer.delivery_method = :smtp
  host = '<https://nameless-sierra-13544>.herokuapp.com'
  config.action_mailer.default_url_options = { host: host }
  ActionMailer::Base.smtp_settings = {
    :address        => 'smtp.sendgrid.net',
    :port           => '587',
    :authentication => :plain,
    :user_name      => ENV['myusername'],
    :password       => ENV['mypass#'],
    :domain         => 'heroku.com',
    :enable_starttls_auto => true
  }

Merci,

1 Ответ

0 голосов
/ 22 октября 2018

В соответствии с комментарием выше, я полагаю, что ваши значения немного не в порядке.Я также считаю, что вам нужно установить адрес from.Это копия того, что я использую в производстве, с вашими ценностями, и, надеюсь, это поможет.Я действительно считаю, что отсутствие действительного адреса from и символов в значении вашего домена - вот почему это не работает.Конечно, также убедитесь, что на heroku установлены переменные ENV.

production.rb

  config.action_mailer.delivery_method = :smtp
  config.action_mailer.default_url_options = { host:'https://nameless-sierra-13544.herokuapp.com' }
  config.action_mailer.perform_deliveries = true
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.default :charset => "utf-8"
  ActionMailer::Base.smtp_settings = {
    :from                 => 'your_email_here@email.com',
    :user_name            => ENV['myusername'],
    :password             => ENV['mypass#'],
    :domain               => 'https://obscure-chamber-73850.herokuapp.com',
    :address              => 'smtp.sendgrid.net',
    :port                 => 587,
    :authentication       => :plain,
    :enable_starttls_auto => true
  }
...