例1
require 'net/smtp'
require 'iconv'
def send_email(from, from_alias, to, to_alias, subject, content)
subject_n = Iconv.conv('utf-8','gbk',subject)
msg = < From: #{from_alias} <#{from}> To: #{to_alias} <#{to}> MIME-Version: 1.0 Content-type: text/html;charset=utf-8 Subject: #{subject_n} MESSAGE_END Net::SMTP.start('smtp.qq.com', 25, 'qq.com', #{qq_num}, #{passwd}, :login) do |smtp| #此处配置发送服 务器及账户 smtp.send_message msg, from, to end end 例2 Ruby自带有 NET::SMTP 来发送邮件,但是它不支持直接发送附件。可能通过 MailFactory 这个gem 来实现。 安装MailFactory gem install mailfactory mail.to=['a@rubyer.me','[email protected]].join(',') #多个收件人 mail.from='[email protected]' mail.subject='This is the subject' mail.html='</font color="red">Here is the html conternt</font>' mail.text='please use html view' mail.attach('/usr/local/test.file') Net::SMTP.start(@smtp_host) do |smtp| smtp.send_message(mail.to_s(),from,to) end 如果发现有中文乱码 require 'net/smtp' require 'rubygems' require 'mailfactory' def sendmail(to, subject, text, file) mail = MailFactory.new mail.from="localhost" mail.subject=subject mail.text=text mail.attach(file); mail.to = to Net::SMTP.start("localhost") do |smtp| smtp.send_mail(mail.to_s(), "localhost", to) end end if (ARGV.length < 4) puts "You should use like this: sendFile.rb 'to_addr' 'subject' 'text' 'filepath'" else if File.file?ARGV[3] sendmail(ARGV[0], ARGV[1], ARGV[2], ARGV[3]) puts "sendmail to #{ARGV[0]}, #{ARGV[1]}, #{ARGV[2]}, #{ARGV[3]}"; else puts "file not exist:" + ARGV[3] end end 在Linux环境下,还要对文件添加可执行权限 chmod +x sendFile.rb sendFile.rb "[email protected]" "title of the mail" "hello world" "/home/oldsong/test.file"
#{content}
使用MailFactory示例
mail=MailFactory.new
新建一个sendFile.rb文件,实现在Shell下发送邮件。
#!/usr/bin/env ruby
发送邮件时执行
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级