我正在尝试了解有关电子邮件的信息。我在localhost上开发一些东西。是否可以从localhost发送电子邮件来说一个像gmail这样的普通邮件帐户?我有安装邮件服务器吗?我刚刚开发了标准导轨安装。
答案 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。
祝你好运; - )