SendGrid возвращает ошибку при отправке шаблона электронного письма
Я использую гем sendgrid-ruby для отправки шаблона электронной почты, но он возвращает ошибку:
Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true
Мой код выглядит следующим образом:
@sendgrid = SendGrid::API.new(api_key: 'api_key', host: 'localhost')
result = @sendgrid.client.mail._('send').post(request_body: template)
Мой development.rb:
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
config.action_mailer.asset_host = 'http://localhost:3000'
Есть идеи, почему он возвращает эту ошибку? Я просмотрел документы по драгоценным камням, но ничего не могу найти относительно этой ошибки.
Я использую rails 5 с Ruby 2.6.5.
1 ответ
В моем случае я реализовал это так в config/environments/[xxx].rb
:
config.action_mailer.delivery_method = :smtp
config.action_mailer.default_url_options = { host: 'https://portal.com.br' }
# Sendgrid port configuration
config.action_mailer.smtp_settings = {
:address => 'smtp.sendgrid.net',
:port => '587',
:authentication => :plain,
:domain => 'xxx.com.br',
:user_name => 'solutions',
:password => 'dns232323',
:enable_starttls_auto => true
}
Rails.application.routes.default_url_options[:protocol] = "https"