如何从localhost发送Rails 3中的邮件?

时间:2012-09-06 07:07:02

标签: ruby-on-rails ruby-on-rails-3

我是Rails的新手。如何在Rails 3中发送邮件?

尝试了以下操作,但不起作用:

致电邮件:

@invited_user = InviteUser.where(:email => @user.email)

邮件程序:

class InviteUsersMailer < ActionMailer::Base
  default :from => "qqqqqreply@qqqqqqqq.com"

    def invite_biller_email(inviter_details)
      @invitation_details = inviter_details
      @user = User.find(@invitation_details.request_sent_by)
      mail(:to => @invitation_details.email, :subject => "xxxxxxxxxxx")
    end
end

2 个答案:

答案 0 :(得分:5)

最简单的方法 - 使用gmail节省必须设置自己的邮件服务器。在初始化文件中(例如,在config/initializers/mailer.rb内),使用以下代码调整设置:

ActionMailer::Base.smtp_settings = {
  :address => "smtp.gmail.com",
  :port => 587,
  :authentication => :plain,
  :domain => 'yourwebdomain.com',
  :user_name => 'username@gmail.com',
  :password => 'your password',
  :enable_starttls_auto => true
}

配置完成后,可在Ruby on Rails Guides

中找到有关使用ActionMailer的详细信息

在检查它是否有效之后,您可以尝试设置自己的邮件服务器(或者,您可能有一个为您运行邮件服务器的虚拟主机,在这种情况下,重新配置上述设置即可)。 / p>

答案 1 :(得分:1)

查看发送邮件的 Rails Guide

简而言之,您需要做两件事:

  1. 创建邮件程序
  2. 配置投放方式。
  3. Rails指南中详细介绍了这些步骤及其他所有步骤。