ruby-on-rails – 如何使用Mandrill发送和获取邮件?

ruby-on-rails – 如何使用Mandrill发送和获取邮件?,第1张

概述我正在使用 Ruby on Rails,你能教我如何使用Mandrill发送和接收邮件. 我的问题是当用户输入文本并按提交时,我希望将消息发送到我的邮件. 我已阅读文档,但我不明白. 这是我的development.rb,与production.rb相同 ActionMailer::Base.smtp_settings = { :port => '587', : 我正在使用 Ruby on Rails,你能教我如何使用Mandrill发送和接收邮件.

我的问题是当用户输入文本并按提交时,我希望将消息发送到我的邮件.
我已阅读文档,但我不明白.

这是我的development.rb,与production.rb相同

ActionMailer::Base.smtp_settings = {    :port =>           '587',:address =>        'smtp.mandrillapp.com',:user_name =>      'myemail@gmail.com',:password =>       's82SlRM5dPiKL8vjrJfj4w',:domain =>         'heroku.com',:authentication => :plain}ActionMailer::Base.delivery_method = :smtp

user_mailer.rb:

class UserMailer < ActionMailer::Base  default from: "from@example.com"  def welcome    mail(to: "morumotto26@gmail.com",subject: "Welcome",body: "Have a nice day")  end end

在控制器中:

def index  UserMailer.welcome.deliverend

我的日志文件如下所示:

Started GET "/users/" for 127.0.0.1 at 2014-01-21 16:14:10 +0700Processing by UsersController#index as HTMLSent mail to morumotto26@gmail.com (2008.0ms)Date: Tue,21 Jan 2014 16:14:10 +0700From: myemail@gmail.comTo: morumotto26@gmail.comMessage-ID: <52de3a62c89b2_5e8c9ea1881631@tnkjapan10.mail>Subject: WelcomeMime-Version: 1.0Content-Type: text/plain; charset=UTF-8Content-transfer-encoding: 7bitHave a nice day  Rendered text template (0.0ms)Completed 200 OK in 2018ms (VIEws: 1.0ms | ActiveRecord: 0.0ms)
解决方法 首先,您需要在mandrill.com上创建帐户.

登录后,选择集成类型:SMTP或API.在大多数情况下,SMTP会为您提供服务.

单击SMTP,然后创建API密钥.

然后在您的development.rb或production.rb文件中
添加以下行:

config.action_mailer.smtp_settings = {  :port =>           '587',:user_name =>      ENV['MANDRILL_USERname'],:password =>       ENV['MANDRILL_APIKEY'],:domain =>         'domain.com',:authentication => :plain}

这基本上都是.现在您可以使用Mandrill发送电子邮件.

编辑

还尝试将这些行添加到您的环境文件中以执行交付并提高交付错误(如果有的话).还要在生产heroku.com中的开发localhost:3000中添加default_url_options

config.action_mailer.perform_deliverIEs = trueconfig.action_mailer.raise_delivery_errors = trueconfig.action_mailer.default_url_options = { host: "localhost:3000" }

测试前重启您的应用

编辑2

如果您希望ActionMailer在提交按钮上单击发送电子邮件,则需要移动UserMailer.welcome.deliver以创建相应控制器的 *** 作.

def create   if @object.save     UserMailer.welcome.deliver   else     render "new"   endend
总结

以上是内存溢出为你收集整理的ruby-on-rails – 如何使用Mandrill发送和获取邮件?全部内容,希望文章能够帮你解决ruby-on-rails – 如何使用Mandrill发送和获取邮件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1281936.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存