Rails的邮件程序提供:的getaddrinfo:产品名称或服务不知道
当我试图确认邮件发送给用户在我的Rails应用程序,它使我这个错误在我的浏览器:Rails的邮件程序提供:的getaddrinfo:产品名称或服务不知道
SocketError (getaddrinfo: Name or service not known)
突出这条线:SwarmNotifier.confirmvisitor(@member).deliver
这里swarm_notifier.rb邮件程序:
class SwarmNotifier < ActionMailer::Base
def confirmplayer(member)
@member = member
mail :to => @member.email, :from => "[email protected]", :subject => "Player registration confirmation"
end
def confirmadmin(member)
@member = member
mail :to => @member.email, :from => "[email protected]", :subject => "Administrator registration confirmation"
end
def confirmvisitor(member)
@member = member
mail :to => @member.email, :from => "[email protected]", :subject => "Visitor registration confirmation"
end
end
其调用这些确认方式的member_controller.rb是这样的:
def create
@member = Member.new(member_params)
respond_to do |format|
if @member.save
case @member.role
when "visitor"
SwarmNotifier.confirmvisitor(@member).deliver
when "administrator"
SwarmNotifier.confirmadmin(@member).deliver
when "player"
SwarmNotifier.confirmplayer(@member).deliver
end
format.html { redirect_to @member, notice: 'Member was successfully created.' }
format.json { render :show, status: :created, location: @member }
else
format.html { render :new }
format.json { render json: @member.errors, status: :unprocessable_entity }
end
end
end
我为setup_mail.rb这个样子的:
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:address => "stmp.gmail.com",
:port => 587,
:domain => 'localhost',
:user_name => "[email protected]",
:password => "mypass",
:authentication => "plain",
:enable_starttls_auto => true
}
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.perform_deliveries = true
有人可以帮我解决这个问题?
我终于找到了神奇的解决方案忘记=>
:我校的防火墙挡住了我的SMTP连接...
语法错误 - 你以后:from
mail :to => @member.email, :from => "[email protected]", :subject => "Player registration confirmation"
现在,我解决了这个问题我有另一个错误:getaddrinfo:在这一行中未知的名称或服务SwarmNotifier.confirmvisitor(@member).deliver in swarm_notifier.rb – yolo
您尚未在本地主机中配置邮件服务器,或者您的系统没有Internet连接。 – emaillenin
我认为配置setup_mail.rb就够了吗?我应该安装sendmail吗? – yolo
试着改变你的本地主机名'127.0 .0.1' – Pavan
我刚刚做到了,并且发生同样的错误。 – yolo
尝试此帖http://stackoverflow.com/questions/23300150/actionmailer-not-working-when-i-change-gmail-password/ 23300459#23300459 –