您好我正在尝试为联系我们表单制作邮件。电子邮件是:from
user@email.com,并且是:to
my@email.com。这可能是通过SMTP开发的吗? ActionMailer是否实际从用户电子邮件帐户发送电子邮件,还是只是一封假电子邮件?我想使用user@email.com作为发件人的原因是因为我希望我能够直接回复该电子邮件。
我正在尝试使用localhost而我收到错误:Errno::ECONNREFUSED (Connection refused - connect(2)):
我认为这是因为我没有正确设置设置。是否需要在实际的Gmail帐户上拥有用户名/密码才能发送此电子邮件?
这是我的设置(我没有任何用户名/密码,这可能是我的错误的来源吗?):
ActionMailer::Base.smtp_settings = {
:address => '127.0.0.1',
:port => 25
}
控制器:
def email
ContactMailer.contact_form(params).deliver
end
邮件收发器:
class ContactMailer < ActionMailer::Base
default :to => "my@email.com"
def contact_form(sender)
@sender = sender
mail(:from => sender[:email], :subject => "Question from #{sender[:company] ? sender[:company] : "" }
- Contact Us")
end
end
视图/ contact_mailer / contact_mailer.text.erb:
We have been contacted by <%= @sender[:email] %>
固定
我将此行添加到初始化程序中:
ActionMailer::Base.delivery_method = :sendmail
答案 0 :(得分:2)
使用Letter Opener进行开发。
答案 1 :(得分:0)
@Edmund,我很好奇,当你说“FIXED”这意味着你通过在初始化程序中添加该行来解决这个问题?如果是这样,请仔细澄清哪个文件?
我的理解per this paid tutorial是您不需要设置任何SMTP设置,因为如果您从自己的帐户发送电子邮件,则只需要这些设置(即,SMTP允许ActionMailer进入您的帐户并代表您发送电子邮件。
我会说这是一个奇怪的假设...... ActionMailer能够以某种方式从其他人的帐户发送电子邮件,而不知道他们的SMTP设置。
无论如何,这是一个奇怪的部分答案,因为这是教程教给我的东西,但我实际上无法让它工作,所以我也很想知道什么对你有用。