从本地主机发送电子邮件

问题描述:

我试着在rails中了解电子邮件。我正在开发一些本地主机。是否有可能从本地主机发送电子邮件说一个正常的邮件帐户,如Gmail?我有安装邮件服务器吗?目前我正在开发一个标准的导轨安装。从本地主机发送电子邮件

您可以设置的ActionMailer使用像这样使用Gmail的SMTP服务器到config/environment.rb

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 
+0

感谢,所以如果我试图从本地主机发送电子邮件(不使发送者定期的电子邮件帐户,如Gmail),以常规邮箱一样gmail我在:domain,:user_name,:password和:authentication字段中输入了什么? – conspirisi 2009-11-24 13:32:17

+0

这只适用于使用哪个邮件服务器的设置。来自地址,地址,主题等在其他地方发生了变化。有关如何执行此操作,请参阅ActionMailer文档中的示例(http://api.rubyonrails.org/classes/ActionMailer/Base.html)。 – 2009-11-24 14:22:23

+0

for gmail:enable_starttls_auto:true有时候可能很必要 – Artur79 2011-07-31 14:41:03

你可以从本地主机发送它,你甚至可以设置发件人为'真实'的邮箱例如[email protected]

但是,有些(或称大多数)服务器不会接受这封邮件作为其spam blocking strategy(无法验证发件人身份)的一部分。然而,在过去,我有一些类似于python的工作在gmail上。

这么好运气;-)

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

您指定这样的DELIVERY_METHOD去一个文件,

ActionMailer::Base.delivery_method = :sendmail 

,或者如果你想

ActionMailer::Base.delivery_method = :smtp 

的设置的详细例子已经公布了Mikael通过小号

HTH

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

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

希望它可以帮助你。

更新导轨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  => '[email protected]', 
    :password  => '******', 
    :authentication => :plain, 
    :enable_starttls_auto => true 
} 
+2

而且别忘了重新启动你的rails服务器 – 2015-08-24 14:55:55