在Rails App中发送电子邮件

时间:2014-08-07 20:17:22

标签: ruby-on-rails email actionmailer

我一直在尝试创建一个发送外发电子邮件的RoR应用程序,您可以在其中指定邮件,主题等。我没有安装任何类型的电子邮件服务器,也不知道如何配置smtp设置。我希望成品看起来像这样:

http://www.tutorialspoint.com/images/send-email.gif

我正在使用一个非常新版本的Mac OS X,并且一直在使用使用Action Mailer类的本教程:http://www.tutorialspoint.com/ruby-on-rails/rails-send-email.htm

不幸的是,本教程不符合rails 4.0,所以它有点狡猾。无论如何,当我在environment.rb中设置smtp设置时,它看起来像这样:

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  address:              'smtp.gmail.com',
  port:                 587,
  domain:               'anythingworks',
  user_name:            'mygmail@gmail.com',
  password:             'mygmailpassword',
  authentication:       'plain',
  enable_starttls_auto: true  }

我实际上不知道要为地址,域名,用户名和密码添加什么。无论如何我可以从localhost发送电子邮件,如果是这样,我将如何配置我的smtp设置?

任何帮助都会非常感激!提前谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用官方guides。所以在development.rb中你应该写:

  config.action_mailer.default_url_options = { :host => 'localhost:3000' }
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    address:              'smtp.gmail.com',
    port:                 587,
    domain:               'yourdomain.com',
    user_name:            'your gmail username',
    password:             'your gmail password',
    authentication:       'plain',
    enable_starttls_auto: true
  }
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.perform_deliveries = true

perform_deliveries选项允许您甚至从localhost发送邮件。