C:\jruby-1.6.8\lib\ruby\1.9\net
发送邮件
使用SMTP发送邮件时,首先要用SMTP.start打开回话。第一个参数是服务器的地址,第二个参数是端口号。若使用块{}的话,自动处理末尾。
打开会话之后,就可以使用send_mail来发信了。
From: WATF_rebot <[email protected]>
To: all related <[email protected]>
Subject: [Auto-Test Alert]Test Failed #{Time.new}
Data:
Message-Id:
}
结束会话
发送邮件后,调用smtp#finish来结束会话,或者会块。
# using SMTP#finish smtp = Net::SMTP.start( 'your.smtp.server', 25 ) smtp.send_mail mail_string, 'from@address', 'to@address' smtp.finish # using block form of SMTP.start Net::SMTP.start( 'your.smtp.server', 25 ) {|smtp| smtp.send_mail mail_string, 'from@address', 'to@address' }
HELO域
在SMTP中,系统会询问 发件主机名(成为HELO域)
Net::SMTP.start( 'your.smtp.server', 25, 'mail.from.domain' ) {|smtp|
class Net::SMTP
类方法
new(address,port=25)
生成新的SMTP 对象。address是SMTP服务器的FQDN,port是连接端口号。但该方法并不会进行连接。
start(address, port = 25, hello_domain = "localhost.localdomain", account = nil, passport = nil, authtype = nil)
start(address, port = 25, hello_domain = "localhost.localdomain", account = nil, passport = nil, authtype = nil){ |smtp| ... }
等同于
Net::SMTP.new(address,port).start(helo_domain,account,password,authtype) # example Net::SMTP.start( 'your.smtp.server' ) { smtp.send_mail mail_string, '[email protected]', '[email protected]' }