Rob*_*Rob 5 ruby google-app-engine ruby-on-rails sendgrid ruby-on-rails-4
我想从谷歌云平台实例发送带有 sendgrids API 的电子邮件。他们有一个关于如何执行此操作的简短教程,但它包含电子邮件消息、来自谁、发送给谁以及其他信息,所有app.rb
这些信息都不是在 Rails 应用程序中发送消息的正常方式。
我查看了sendgrid ruby 文档,他们也没有很好的信息。所有信息都集中在一个地方,他们没有说明要将它们放入哪些文件,甚至没有提到要使用的任何 smtp 设置。
这是我到目前为止所拥有的
发展.rb
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
}
Run Code Online (Sandbox Code Playgroud)
宝石文件
gem "sendgrid-ruby"
Run Code Online (Sandbox Code Playgroud)
电子邮件视图在 app/views 中,邮件方法在 app/mailer 中,与正常的 rails 4 应用程序设置相同。
所以我想这是我的主要问题:
SendGrid::Mail
我在几个地方看到的?我是在 Rails 应用程序中发送这样的电子邮件的新手,非常感谢您的帮助。
小智 6
将apikey
作为名称和实际apikey作为密码:
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
}
Run Code Online (Sandbox Code Playgroud)
小智 0
使用 Figaro gem: https: //github.com/laserlemon/figaro 它将为您生成一个 application.yml 文件,您可以在其中存储您的 sendgrid_username 和 sendgrid_password。
您生成了邮件吗?例如,生成邮件程序 user_notifier,您可以在其中定义默认发件人电子邮件,以及如下一些方法:
r
# 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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2210 次 |
最近记录: |