0 0

如何用ruby发送中文邮件?3

require 'net/smtp'

#Senders and Recipients
from_name = 'myname'
from_mail = 'myname@126.com'
to_name = 'yourname'
to_mail = 'yourname@163.com'

#Servers and Authentication
smtp_host   = 'smtp.126.com'
smtp_port   = 25
smtp_domain = '126.com'
smtp_user   = 'myname@126.com'
smtp_pwd    = 'mypwd'

#The subject and the message
t = Time.now
subj = 'Sending Email with Ruby'
msg_body = "我的测试Check out the instructions on how to send mail using Ruby.\n"

#The date/time should look something like: Thu, 03 Jan 2006 12:33:22 -0700
msg_date = t.strftime("%a, %d %b %Y %H:%M:%S +0800")

#Compose the message for the email
msg = <<END_OF_MESSAGE
Date: #{msg_date}
From: #{from_name} <#{from_mail}>
To: #{to_name} <#{to_mail}>
Subject: #{subj}

#{msg_body} 
END_OF_MESSAGE

Net::SMTP.start(smtp_host, smtp_port, smtp_domain, smtp_user, smtp_pwd, :plain) do |smtp|
  smtp.send_message msg, smtp_user, to_mail
end


发送英文邮件正常,不能发送带中文的邮件
msg_body = "我的测试Check out the instructions on how to send mail using Ruby.\n"  这个信件内容不能有中文
提示错误
sendemail:19: invalid multibyte char (US-ASCII)
sendemail:19: invalid multibyte char (US-ASCII)

那位高手能帮忙解决一下

问题补充:
我把文件转换成utf-8,还是提示有错误
/usr/local/lib/ruby/1.9.1/net/protocol.rb:291: warning: regexp match /.../n against to UTF-8 string
问题补充:
转成utf-8的编码,邮件可以收到,但是国内的大部分邮箱都是gbk编码的,
到收件箱里面看到的是乱码,
2009年6月13日 16:50

4个答案 按时间排序 按投票排序

0 0

采纳的答案

引用
warning: regexp match /.../n against to UTF-8 string

只是warning没问题的,你看看邮件收到没有

2009年6月13日 19:40
0 0

你用的是ruby1.9.1?
我在1.8.6上试过,没有你说的问题呀

2009年6月13日 19:34
0 0

sendemail:19: invalid multibyte char (US-ASCII) 

这错误的意思是你的编码方式错误,不知道你用的是什么编辑器,把编码改成UTF-8就可以了,刚才试了一下,成功收到..

2009年6月13日 17:08
0 0

看看这有没帮助
http://blog.chinaunix.net/u/26076/showart_225280.html

2009年6月13日 17:05

相关推荐

    Ruby on Rails 指南 v5.0.1 中文版

    - **发送邮件**:指导如何使用ActionMailer发送邮件。 - **接收电子邮件**:说明如何配置应用接收电子邮件。 - **ActionMailer回调**:介绍ActionMailer中的回调机制。 - **使用ActionMailer辅助方法**:展示如何...

    Ruby Library QuickRef

    这个资源以简体中文的形式提供,旨在帮助开发者迅速查找和理解Ruby库的使用方法,提高开发效率。 Ruby是一种面向对象的、动态的、灵活的编程语言,它在Web开发领域中因其Rails框架而广受欢迎。Ruby Library ...

    获取电子邮件信息的资源

    - **Node.js**: 可以使用`nodemailer`和`imap`库进行邮件的发送和接收。 - **其他语言**:C#有`System.Net.Mail`,PHP有`imap`函数库,Ruby有`mail` gem等。 3. **授权与身份验证** - **基本认证**:用户名和...

    理解 Zend 框架(IBM经典中文教程)

    ### 理解 Zend 框架:IBM 经典中文教程详解 #### 一、引言 在软件开发的世界里,程序员们总是希望能够通过工具和技术来提高工作效率,减少重复劳动。随着网络技术的发展和互联网应用的需求增加,PHP 作为一种流行...

    Log4j的中文文档

    这篇文档是基于Jakarta-log4j-1.2.8版本的官方手册翻译而成,旨在为中文用户提供详细的理解和使用指南。 Log4j的核心组件包括记录器(Loggers)、输出源(Appenders)和布局器(Layouts): 1. 记录器(Loggers)...

    部署redmine步骤

    7. **SMTP设置**:在安装过程中,你有机会配置SMTP设置,这将允许Redmine发送电子邮件通知。如果你跳过这一步,后续可以手动在Redmine的配置中添加这些设置。SMTP设置通常包括邮件服务器地址、端口、用户名、密码和...

    CobaltStrike4.0用户手册_中文翻译.rar

    Cobalt Strike是一款广泛使用的高级渗透测试工具,主要用于模拟攻击者的行为,帮助安全专业人员评估组织的安全防御能力。...阅读“CobaltStrike4.0用户手册_中文翻译.pdf”将对理解和使用这款工具大有裨益。

    awesome-rails-gem-zh_CN, Rails 常用 Gem 列表 - Awesome Rails Gem 中文版.zip

    以上只是Awesome Rails Gem列表中的一部分,实际列表还包含了更多用于数据库迁移、日志记录、邮件发送、国际化、安全、缓存、版本控制等各个方面的Gem。通过这个列表,开发者可以快速找到适合自己项目的Gem,极大地...

    qor:QOR是用Go编写的一组库,抽象了业务应用程序,CMS和电子商务系统所需的常用功能

    这是对Go的原始QOR的完全重写,它是用Ruby on Rails编写并在内部使用的专有框架。 QOR 1.0是第一个以MIT许可证开源和分发的版本。 什么不是QOR QOR不是“盒装交钥匙解决方案”。 您需要适当的编码技巧才能使用它。...

    网络爬虫-Python和数据分析(中文)

    - 非法用途包括但不限于数据窃取、发送垃圾邮件等。 **发展阶段:** - 网页搜集:爬虫从给定的URL开始抓取网页。 - 建立索引:对抓取的内容进行索引以便后续检索。 - 查询排序:根据用户的查询请求返回相关性排序的...

    网络爬虫-Python数据分析

    此外,它也被用于一些不正当行为,如偷窥和发送垃圾邮件。 编写网络爬虫可以使用多种编程语言,包括C/C++、Perl、Python、Java、Ruby和C#等。C和C++语言因其执行效率高而适合全网爬取任务,但编写和维护难度较大,...

    网络爬虫-Python和数据分析

    4. **非法用途**:虽然不鼓励,但确实存在一些人利用网络爬虫进行非法活动,比如收集个人信息用于发送垃圾邮件等。 #### 爬虫的基本步骤 - **网页搜集**:获取网页数据。 - **建立索引**:将抓取到的数据进行组织...

    jpmobile:日本手机的Rails插件

    字符代码转换功能/象形图载体之间的相互转换发送电子邮件表情符号和汉字代码的转换接收电子邮件(实验性)表情符号和汉字代码的转换它还向Rails 5.0添加了以下功能:自动分发到视图添加链接助手,例如位置信息获取...

    Python和数据分析

    4. **数据安全**: 虽然提及较少,但爬虫也可能被用于非法目的,如黑客攻击或发送垃圾邮件。 #### 三、网络爬虫的技术选型 1. **C/C++**: 高效且速度快,适合大规模网页爬取,但开发周期较长。 2. **脚本语言**: ...

Global site tag (gtag.js) - Google Analytics