首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Sendgrids发送电子邮件,用rails 4发送电子邮件?我似乎可以把所有的片段组合在一起

如何使用Sendgrids发送电子邮件,用rails 4发送电子邮件?我似乎可以把所有的片段组合在一起
EN

Stack Overflow用户
提问于 2016-07-04 12:31:11
回答 2查看 2.5K关注 0票数 5

我想从google云平台实例中发送带有sendgrids的电子邮件。他们有一个关于如何做到这一点的简短教程,但是它有电子邮件消息,来自谁,发送给谁,以及其他信息都在app.rb中,这不是在rails应用程序中发送消息的正常方式。

我看了sendgrid红宝石文档,他们也没有很好的信息。所有的信息在一个地方,他们没有说明哪些文件放在他们,甚至提到任何smtp设置使用。

这是我到目前为止所拥有的

development.rb

代码语言:javascript
复制
config.action_mailer.delivery_method = :smtp
# SMTP settings
config.action_mailer.smtp_settings = {
 :address              => "smtp.sendgrid.net",
 :port                 => 465,
 :domain               => "mydomain.com",
 :user_name            => ENV['sendgrid_username'],
 :password             => ENV['sendgrid_password'],
 :authentication       => :plain,
 :ssl                  => true,
 :enable_starttls_auto => true
}

宝石档案

代码语言:javascript
复制
gem "sendgrid-ruby"

电子邮件视图在app/view中,mailer方法在app/mailer中,与普通的rails 4应用程序设置相同。

所以我想这是我的主要问题:

  1. 我在哪里调用持有sendgrid键的环境变量?
  2. 我在哪里告诉Action使用sendgrid或SendGrid::Mail,就像我在几个地方看到的那样?
  3. 我需要sendgrid宝石吗?
  4. 使用sendgrid发送SSL的smtp设置正确吗?

我刚开始在rails应用程序中发送这样的电子邮件,我真的很感激你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2017-10-03 06:10:46

apikey作为名称,将实际的apikey作为密码:

代码语言:javascript
复制
config.action_mailer.smtp_settings = {
  address:        "smtp.sendgrid.net",
  port:           587,
  domain:         "yourwebsite.com",
  authentication: :plain,
  user_name:      'apikey',
  password:       Rails.application.secrets.sendgrid_api_key
}

来源

票数 6
EN

Stack Overflow用户

发布于 2016-07-04 18:33:52

  1. 使用Figaro:https://github.com/laserlemon/figaro --它将为您生成一个application.yml文件,您可以在这里存储sendgrid_username和sendgrid_password。
  2. 您的邮件生成了吗?例如,生成邮件程序user_notifier,您可以在其中定义默认的-从电子邮件,和一些方法,如:

R

代码语言:javascript
复制
# send a signup email to the user, pass in the user object that contains the 
user email address
default :from => 'hello@yourdomain.com'
def send_signup_email(user)
    @user = user
    mail( :to => @user.email,
        :subject => 'Thanks for signing up!'
    )
end
  1. 不,你不需要。
  2. ports.html
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38184833

复制
相关文章

相似问题

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