`
fsword
  • 浏览: 169023 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

用active mailer发送gmail信件遇到的两个问题

阅读更多
1.gmail似乎是为了解决垃圾邮件问题,有时候发信会被退回,提示信息如下
代码
 
  1. Technical details of permanent failure:  
  2. PERM_FAILURE: Message rejected for Sector 5 policy reasons  

不懂这个“Sector 5 policy”是什么地方的东西,也不知道怎么解决。

2.我们发送的信件包含中文,编码则是统一用utf-8,结果发现163的信箱会显示乱码。而在web上直接用gmail发信则没有问题,如果用其它邮件客户端(我用Evolution)发送也没有错,我比较了一下原始信息,发现确实有区别:
通过web发送的信件
 
  1. Content-Type: multipart/alternative;   
  2.     boundary="----=_Part_143410_16080054.1188051544112"  
  3. Delivered-To: makeradmin@gmail.com  
  4.   
  5. ------=_Part_143410_16080054.1188051544112  
  6. Content-Type: text/plain; charset=GB2312  
  7. Content-Transfer-Encoding: base64  
  8. Content-Disposition: inline  
  9.   
  10. ICAgLSAqzfjS1yoK  
  11. ------=_Part_143410_16080054.1188051544112  
  12. Content-Type: text/html; charset=GB2312  
  13. Content-Transfer-Encoding: base64  
  14. Content-Disposition: inline  
  15.   
  16. PHVsPjxsaT48c3Ryb25nPs340tc8L3N0cm9uZz48L2xpPjwvdWw+Cg==  
  17. ------=_Part_143410_16080054.1188051544112--  


通过Evolution发送的信件
 
  1. --=-LH2nyzUVing+UsJ6hhVF  
  2. Content-Type: text/plain; charset=UTF-8  
  3. Content-Transfer-Encoding: 8bit  
  4.   
  5. 网易邮箱测试  
  6.   
  7. --=-LH2nyzUVing+UsJ6hhVF  
  8. Content-Type: text/html; charset=utf-8  
  9. Content-Transfer-Encoding: 7bit  
  10.   
  11. "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">  
  12.   
  13.   
  14.   
  15.   
  16.   
  17.   
  18. 网易邮箱测试  
  19.   
  20.   

我们用active mailer发送的信件
 
  1. Return-Path: <makeradmin></makeradmin>@gmail.com>  
  2. Received: from  ( [xx.xx.xx.xx])  
  3.         by mx.google.com with ESMTPS id v38sm6206814wah.2007.08.25.06.58.25  
  4.         (version=TLSv1/SSLv3 cipher=OTHER);  
  5.         Sat, 25 Aug 2007 06:58:26 -0700 (PDT)  
  6. Date: Sat, 25 Aug 2007 21:58:17 +0800  
  7. From: makeradmin@gmail.com  
  8. To: freebuilder@163.com  
  9. Subject: =?utf-8?Q?=e6=82=a8=e7=9a=84=e6=9c=8b=e5=8f=8b=e9=82=80=e8=af=b7=e6=82=a8=e5=8a=a0=e5=85=a5=e7=9a=ae=e5=8c=a0=e7=bd=91?=  
  10. Mime-Version: 1.0  
  11. Content-Type: text/html  
  12. Message-ID: <46d03582.26f8720a.3b80.ffffd25a@mx.google.com>  
  13.   
  14.   
  15.   
  16.   
  17.     
  18.   
  19.   
  20. ...  

现在原因是找到了,可是我不知道怎么用上面两种方式发信,应该用base64编码吧?查ruby和rails的api没有找到合适的。
不知道我的思路是不是有错误,有没有人遇到过类似的问题?
分享到:
评论
2 楼 fsword 2007-08-30  
谢谢,不过我现在还没有搞明白怎么让信件被BASE64编码一下,搞定以后再回复。
1 楼 sinajj 2007-08-27  
看起来你发信的编码是Quoted Printable。

信件传递的过程中,传输的内容中不能存在UTF-8的字符。SMTP只解决传输过程,不解决传输过程中的邮件内容文体组成和编码问题,所以一般说来,需要在发送前构建邮件体,将所有非可打印字符用BASE64或者QUOTED PRINTABLE编码,然后再发送。
所以,你需要先将邮件内容BASE64编码,然后再发送。

相关推荐

    PHPmailer用gmail發送郵件

    本文将详细介绍如何使用PHPMailer通过Gmail发送邮件,以及相关的技术要点。 首先,要使用PHPMailer与Gmail集成,你需要在项目中包含PHPMailer的核心文件。在提供的压缩包中,`class.phpmailer.php` 和 `class.smtp....

    phpmailer发送gmail邮件实例详解

    本文将详细介绍如何使用PHPMailer来通过Gmail的SMTP服务器发送邮件。 首先,我们需要了解在使用PHPMailer之前需要做的一些基本设置。这些设置包括错误报告级别、时区的设置以及引入PHPMailer的类文件。代码示例中的...

    phpmailer发送邮件

    PHPMailer 是一个流行的开源 PHP 类库,用于在 PHP 应用程序中发送电子邮件。它提供了丰富的功能,包括支持 SSL/TLS 加密、多种 SMTP 服务器验证方式、HTML 邮件以及添加附件等。在您提供的信息中,我们关注的是如何...

    php中用phpmailer发送邮件.pdf

    在示例代码中,我们创建了一个 HTML 表单,用户可以输入收件人的邮箱地址,然后提交表单,PHP 程序将使用 PHPMailer 发送邮件。PHP 程序首先包含 PHPMailer 的类文件,然后创建一个 PHPMailer 对象,设置 SMTP ...

    PHP使用phpmailer发送邮件

    在PHP开发中,有时我们需要通过程序来发送电子邮件,这时PHPMailer是一个非常实用的库。它提供了丰富的功能,如SMTP验证、HTML邮件支持、附件上传等,使得开发者能够方便地实现邮件发送功能。以下是对PHPMailer的...

    使用phpmailer发送邮件 PHP源码

    标题中的“使用phpmailer发送邮件 PHP源码”指的是利用PHPMailer这个开源库来实现通过PHP程序发送电子邮件的功能。PHPMailer是一个广泛使用的PHP类库,它提供了丰富的功能,使得开发者能够轻松地添加邮件发送功能到...

    thinkphp框架使用PHPMailer发送邮件

    使用方法: ... 第二步,在 config文件里新增 如下配置,或者干脆在action里用C函数设置临时配置亦可. ...SendMail('350680013@qq.com','我能用phpmailer发送邮件了','谢谢您。。。',C('MAIL_SENDER')); PS:欢迎下载使用

    YiiMailer, Yii扩展使用PHPMailer发送带有布局的电子邮件.zip

    YiiMailer, Yii扩展使用PHPMailer发送带有布局的电子邮件 YiiMailerYii ( v1.1. x ) 扩展使用 PHPMailer 发送电子邮件的布局。特性基于 PHPMailer ( 绑定,使用分支'Composer的Composer 支持支持Yii布局和翻译支持...

    phpmailer发送带图片邮件

    `phpmailer` 是一个广泛使用的PHP库,它使得发送邮件变得更加简单和可靠。在这个场景下,我们将讨论如何使用`phpmailer`来发送带有图片的邮件。 首先,我们来看`mail.class.php`,这是一个`phpmailer`的核心类文件...

    phpmailer.zip发送邮件

    压缩包中,包含两个主要文件:`class.phpmailer.php`和`class.smtp.php`。 1. `class.phpmailer.php`:这是PHPMailer的核心类文件,包含了所有发送邮件所需的方法和属性。比如设置发件人、收件人、主题、邮件内容等...

    PHPMailer-demo邮箱发送功能

    本教程将通过一个实际的示例来展示如何使用PHPMailer配合QQ邮箱实现邮件发送功能。 ### 1. 安装PHPMailer 首先,你需要安装PHPMailer。最常用的方式是通过Composer,PHP的依赖管理工具。在命令行中,进入你的项目...

    使用PHPMailer发送邮件

    PHPMailer是一个非常流行的PHP类库,它提供了丰富的功能,帮助开发者轻松实现邮件发送。本教程将详细讲解如何使用PHPMailer来发送邮件。 首先,我们需要安装PHPMailer。如果你使用Composer(PHP的依赖管理工具),...

    邮件发送类PHPMailer

    **PHPMailer** 是一个流行的PHP库,用于发送电子邮件。它提供了丰富的功能,使得在PHP应用程序中构建和发送复杂的邮件变得更加简单。PHPMailer支持多种邮件发送协议,包括SMTP、SENDMAIL和PHP's mail()函数,因此你...

    PHPMailer发送邮件

    PHPMailer发送邮件

    基于PHP的Mailer用于发送电子邮件的函数包(4,5多版本)源码.zip

    【PHPMailer】是一种广泛使用的PHP库,专门设计用于发送电子邮件。这个函数包支持PHP 4和5的不同版本,使得在不同环境下都能灵活地处理邮件发送功能。PHPMailer提供了丰富的选项和错误处理机制,使得开发者可以方便...

    调用phpMailer类需要的两个文件

    这两个文件是`phpMailer`的核心组件,它们实现了SMTP(Simple Mail Transfer Protocol)协议,用于与邮件服务器进行通信,从而实现邮件的发送。 首先,`class.phpmailer.php`文件是`phpMailer`的主类文件,包含了`...

    phpmailer邮件发送

    PHPMailer是一种广泛使用的开源PHP库,专门用于帮助开发者发送电子邮件。它支持多种协议,包括SMTP、PHP mail()函数以及sendmail,提供了丰富的功能和错误处理机制,使得在PHP应用程序中发送邮件变得更加简单和可靠...

    php使用PHPMailer发送邮件例子

    PHPMailer是一个流行的PHP库,它允许开发者通过SMTP协议发送邮件,无需依赖PHP的mail()函数,提供了更灵活和可靠的邮件发送功能。本文将详细讲解如何利用PHPMailer在PHP环境中实现邮件发送。 首先,你需要在项目中...

    PHPmailer发送邮件

    phpmailer PHPmailer发送邮件

Global site tag (gtag.js) - Google Analytics