使用SMTP设置Ruby gem'Mail'

时间:2013-10-28 19:09:02

标签: ruby smtp

所以我正在测试Ruby gem 'Mail'。以下是我的代码。根据sysadmin,没有必要通过SMTP发送身份验证,并且允许服务器通过SMTP发送。如果这是有道理的。

我使用过的'net/smtp'工作正常,但我似乎无法让这个'Mail'宝石为我工作。它没有给我任何错误,所以我不确定是什么问题。我是一个完整的红宝石菜鸟。

#testing out mailer
require 'mail'
Mail.defaults do
    delivery_method :smtp,  {
    :address => '10.18.34.18',
    :port => '25',
    :user_name => 'anonymous',
    :password => 'anonymous',
    :authentication => 'plain',
    :enable_starttls_auto => true}
end

mail = Mail.new do
    from 'server@company.com'
    to 'cvu@company.com'
    subject 'This is a test email'
    body File.read('test.txt')
end

mail.to_s

2 个答案:

答案 0 :(得分:1)

尝试调用mail.deliver!,调用to_s只返回对象的字符串表示。

或者,您可以使用块调用deliver,而不是调用new,例如

mail = Mail.deliver do
    from 'server@company.com'
    to 'cvu@company.com'
    subject 'This is a test email'
    body File.read('test.txt')
end

答案 1 :(得分:0)

除了struthersneil所说的,我还必须删除身份验证:

require 'mail'
Mail.defaults do
    delivery_method :smtp,  {
    :address => '10.18.34.18',
    :port => '25',
    :enable_starttls_auto => true}
end