从localhost发送电子邮件

时间:2009-11-24 09:49:52

标签: ruby-on-rails email localhost

我正在尝试了解有关电子邮件的信息。我在localhost上开发一些东西。是否可以从localhost发送电子邮件来说一个像gmail这样的普通邮件帐户?我有安装邮件服务器吗?我刚刚开发了标准导轨安装。

5 个答案:

答案 0 :(得分:28)

rails 4.0的更新 现在您需要这些代码才能使其正常工作:

# I recommend using this line to show error
config.action_mailer.raise_delivery_errors = true

ActionMailer::Base.smtp_settings = {
  :address        => 'smtp.gmail.com',
  :domain         => 'mail.google.com',
  :port           => 587,
  :user_name      => 'foo@gmail.com',
  :password       => '******',
  :authentication => :plain,
  :enable_starttls_auto => true
}

答案 1 :(得分:15)

您可以设置ActionMailer以使用 config / environment.rb 中的类似内容使用Gmail的SMTP服务器:

ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.server_settings = {
    :address        => 'smtp.gmail.com',
    :domain         => '<your domain>',
    :port           => 587,
    :user_name      => '<your gmail>',
    :password       => '<your password>',
    :authentication => :plain
}

修改:如果遇到任何问题,请将配置设置为显示错误:

ActionMailer::Base.raise_delivery_errors = true

答案 2 :(得分:5)

看看ActionMailer。在RAILS_ROOT/config/environment/中,有一个用于不同环境(开发,测试,生产)的文件可配置设置放在这些文件中

您可以像这样指定delivery_method,

ActionMailer::Base.delivery_method = :sendmail

或者如果你想要

ActionMailer::Base.delivery_method = :smtp

Mikael S发布了一个详细的设置示例

HTH

答案 3 :(得分:4)

如果我理解您的情况,您希望使用自定义电子邮件地址(例如john@mycompany.com)从本地计算机发送电子邮件。如果您已经为您的电子邮件帐户(mycompany.com)注册了域名,那么托管您网站的公司很可能也有POP / SMTP服务器。如果是这样,您可以使用Mikael S的示例并将地址参数更改为您的托管公司的smtp地址,并使用您的托管公司的用户名/密码。

如果您尚未注册自定义域或没有托管服务提供商,则可以在本地计算机上安装免费的电子邮件服务器。如果您使用WindowsXP,则可以通过添加/删除程序 - > windows功能来添加IIS电子邮件服务器。如果您使用的是Linux,则可以使用存储库中提供的任何电子邮件服务器。安装本地电子邮件服务器后,您将使用Mikael S的示例代码,并在地址字段中使用127.0.0.1或localhost。如果您使用的是WindowsXP的电子邮件服务器,我认为您不必输入用户名/密码。

希望它对你有所帮助。

答案 4 :(得分:0)

您可以从localhost发送,您甚至可以将发件人设置为“真实”邮箱,例如you@gmail.com。

但是,某些(或大多数)服务器不接受此邮件作为其spam blocking strategy的一部分(无法验证发件人身份)。 但是,在过去,我有一些与python类似的东西,它可以用于gmail。

祝你好运; - )