首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby on Rails和通过SMTP的Sendinblue

Ruby on Rails和通过SMTP的Sendinblue
EN

Stack Overflow用户
提问于 2020-01-20 00:41:54
回答 3查看 879关注 0票数 0

我想使用Sendinblue从我的Ruby on Rails web应用程序通过SMTP发送事务性电子邮件。我对config/environments/production.rb进行了如下编辑:

代码语言:javascript
复制
ActionMailer::Base.smtp_settings = {
  :address => 'smtp-relay.sendinblue.com',
  :port => '587',
  :authentication => :plain,
  :user_name => ???,
  :password => ???,
  :domain => 'fireworks.com',
  :enable_starttls_auto => true
}

我应该使用什么作为user_namepassword?我的帐户的用户名和密码还是我的SMTP密钥?另外,我是否需要使用任何gem,比如sib-api-v3-sdk,或者这个gem只在使用Sendinblue API发送电子邮件时有用?

EN

回答 3

Stack Overflow用户

发布于 2021-11-11 16:27:46

这就是在ActionMailer中使用SendInBlue所需的全部内容。其他答案建议使用SMTP不需要的gem。在一个普通的Rails应用程序中,您不需要sendinbluesib-api-v3-sdk gem就可以在ActionMailer中使用SIB。

代码语言:javascript
复制
#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
}
票数 2
EN

Stack Overflow用户

发布于 2020-01-20 02:02:00

可以添加gem 'sendinblue'官方Sendinblue提供的接口V2 Ruby GEM

要发送电子邮件,您需要更改config/environments/*.rb中的smtp设置(以适用的为准)

代码语言:javascript
复制
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

代码语言:javascript
复制
STMP SERVER --> smtp-relay.sendinblue.com
port --> 587
票数 0
EN

Stack Overflow用户

发布于 2020-12-03 10:51:39

将此代码添加到您的gemfile中

代码语言:javascript
复制
gem 'sib-api-v3-sdk'

将其添加到config/environment/production.rb中

代码语言:javascript
复制
  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中

代码语言:javascript
复制
SibApiV3Sdk.configure do |config|
  config.api_key['api-key'] = ENV["SEND_IN_BLUE_API_KEY"]
end

确保您的环境变量正确。它在生产环境中对我很有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59812172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档