网上找了好长时间,总是不得要领。有的说只能在本机配置smtp服务器。
我用的是windowsXP,想用公司局域网上的smtp发邮件,可是总是不能成功配置。是不是真的只能在本机上安装配置smtp服务器啊?
那个plain和login选项有什么区别啊?
foxmail可以发邮件,需要验证,我就想:用ror应该也没有问题啊。
另外,用防火墙观察发现,用foxmail发邮件时,每发一个邮件会引发防火墙两次动作,而我自己发邮件时只引发防火墙一次动作。
想装一个嗅探器试一下,可是公司网内不能下载。
[b]问题补充:[/b]
[code="Rails"]
def message()
subject 'AAA'
body 'BBBBBBBBBBBBBB'
recipients 'aaa@aaa.com'
from 'aaa@aaa.com'
sent_on Time.now
end
[/code]
[code="Rails"]
config.action_mailer.smtp_settings = {
:address => "172.16.41.57",
:port => 25,
:authentication => :login,
:user_name => "aaa",
:password => "XXX"
}
[/code]
[code="Rails"]
Admin::MessageMailer.deliver_message()
[/code]
其中的密码、用户名、邮箱地址、服务器地址、端口等都与在foxmail中的设置一致。
防火墙被触动一次,从防火墙的提示来看,主机地址及端口都对,没有任何错误提示。可是指定的邮箱收不到邮件。
完全可以用其他的smtp server发邮件
参考:
[url=http://hlee.iteye.com/admin/blogs/399541]使用Rails Action Mailer发送SMTP邮件 基础教程[/url]
:D
所以说,你是可以用foxmail发邮件了吧?
那么,检查一下这个
[quote]
在smtp setting里的邮件地址设置,和发邮件时的发件人邮件地址不一致。smtp服务器就不允许发送了
[/quote]
就是,看看你怎么能保证发邮件时的,发件人和smtp的setting里的地址一致?
另外,看不到错误提示并不是说没有错误提示,你控制台调试的错误提示也可以从development.log看看有没提示 :arrow:
[code="ruby"]ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
:address => "smtp.163.com",
:port => 25,
:authentication => :login,
:domain => "163.com",
:user_name => "user_name",
:password => "password",
}[/code]
发邮件时,设定用同一个帐号,我验证了可以。