我想使用Sendinblue从我的Ruby on Rails web应用程序通过SMTP发送事务性电子邮件。我对config/environments/production.rb进行了如下编辑:
ActionMailer::Base.smtp_settings = {
:address => 'smtp-relay.sendinblue.com',
:port => '587',
:authentication => :plain,
:user_name => ???,
:password => ???,
:domain => 'fireworks.com',
:enable_starttls_auto => true
}我应该使用什么作为user_name和password?我的帐户的用户名和密码还是我的SMTP密钥?另外,我是否需要使用任何gem,比如sib-api-v3-sdk,或者这个gem只在使用Sendinblue API发送电子邮件时有用?
发布于 2021-11-11 16:27:46
这就是在ActionMailer中使用SendInBlue所需的全部内容。其他答案建议使用SMTP不需要的gem。在一个普通的Rails应用程序中,您不需要sendinblue或sib-api-v3-sdk gem就可以在ActionMailer中使用SIB。
#config/environments/production.rb
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => ENV.fetch('SMTP_HOST', 'smtp-relay.sendinblue.com'),
:port => ENV.fetch('SMTP_PORT', '587'),
:authentication => :plain,
:user_name => ENV['SMTP_USERNAME'], #See: https://account.sendinblue.com/advanced/api
:password => ENV['SMTP_PASSWORD'], #See: https://account.sendinblue.com/advanced/api
:enable_starttls_auto => true
}发布于 2020-01-20 02:02:00
可以添加gem 'sendinblue'官方Sendinblue提供的接口V2 Ruby GEM
要发送电子邮件,您需要更改config/environments/*.rb中的smtp设置(以适用的为准)
Rails.application.configure do
#append this settings
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => ‘smtp-relay.sendinblue.com’,
:port => 587,
:user_name => ‘YOUR_SENDINBLUE_EMAIL’,
:password => ‘YOUR_SENDINBLUE_PASSWORD’,
:authentication => ‘login’,
:enable_starttls_auto => true
}
end更改设置帐户中的STMP和API
STMP SERVER --> smtp-relay.sendinblue.com
port --> 587发布于 2020-12-03 10:51:39
将此代码添加到您的gemfile中
gem 'sib-api-v3-sdk'将其添加到config/environment/production.rb中
config.action_mailer.default_url_options = { host: "your_domain.com", port: 587 }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp-relay.sendinblue.com",
:port => 587,
:user_name => ENV['SEND_IN_BLUE_USERNAME'],
:password => ENV['SEND_IN_BLUE_PASSWORD'],
:authentication => 'login',
:enable_starttls_auto => true
}将其添加到config/initializers/send_ in _blue.rb中
SibApiV3Sdk.configure do |config|
config.api_key['api-key'] = ENV["SEND_IN_BLUE_API_KEY"]
end确保您的环境变量正确。它在生产环境中对我很有效。
https://stackoverflow.com/questions/59812172
复制相似问题