处理接收到的邮件subject编码问题

转载 2008年09月29日 16:38:00
  /**  
  *   对字符串进行解码处理  
  *   @param   s   要转换的字符串  
  *   @return   返回转换后的字符串  
  */  
  public   static   String   decodeWord(String   s)   {  
                  System.out.println("s========decode="+s);  
                  if   (s==null||s.equals("")){  
                          return   "";  
                  }  
                  if(!s.startsWith("=?")){  
                          return   s;   //如果没有编码就进行内码转换,调用str类里getstr()  
                  }  
                  if   (s.indexOf("=?")!=-1)   {  
                  int   i   =   2;  
                  int   j;  
                  if((j   =   s.indexOf(63,   i))   ==   -1)  
                          return   s;  
                  String   s1   =   (s.substring(i,   j));  
                  i   =   j   +   1;  
                  if((j   =   s.indexOf(63,   i))   ==   -1)  
                          return   s;  
                  String   s2   =   s.substring(i,   j);  
                  i   =   j   +   1;  
                  if((j   =   s.indexOf("?=",   i))   ==   -1)  
                          return   s;  
                  String   s3   =   s.substring(i,   j);  
                  try   {  
                          ByteArrayInputStream   bytearrayinputstream   =   new   ByteArrayInputStream(s3.getBytes());  
                          Object   obj;  
                          if(s2.equalsIgnoreCase("B"))  
                                  obj   =   new   com.sun.mail.util.BASE64DecoderStream(bytearrayinputstream);  
                          else  
                          if(s2.equalsIgnoreCase("Q"))  
                                  obj   =   new   com.sun.mail.util.QDecoderStream(bytearrayinputstream);  
                          else  
                                  return   s;  
                          int   k   =   bytearrayinputstream.available();  
                          byte   abyte0[]   =   new   byte[k];  
                          k   =   ((InputStream)   (obj)).read(abyte0,   0,   k);  
                          return   new   String(abyte0,   0,   k   );  
                  }  
   
                  catch(Exception   e)   {  
  return   s;  
                  }  
                  }  
                  return   s;  
          }

接收到的邮件中的收件人列表中并没有自己

 出处:IBM产品:Lotus Domino Server平台:无关软件版本:6.x,5.x用户在 Lotus Domino 中收到一个 SPAM 邮件,收件人列表中并没有自己。这样收件人就觉得很疑惑...
  • cutebab0888
  • cutebab0888
  • 2006年06月28日 10:04
  • 1150

nodeJS - 1 - Buffer处理二进制数据

Buffer 处理二进制数据说明 Buffer 是 nodeJS 处理二进制数据的一个接口,是 Node 提供的原生全局对象,不需要 require,他是一个构造函数,生成的实例代表 V8 引擎分...
  • mjzhang1993
  • mjzhang1993
  • 2017年11月23日 15:38
  • 226

iOS—接收到APNs远程推送消息时的处理流程

当iOS接收到远程推送消息时会根据不同的状态进行不同的消息发磅
  • victorai60
  • victorai60
  • 2014年05月10日 09:37
  • 2800

JavaMail之Subject乱码解决之道

同学做的邮件同步系统 出了点小问题,发现用JavaMail获得的Subject,发信人,收信人等出现乱码。打开eml查看时,发现邮件内容是这样的: Received:from mail.miibeia...
  • Kylixs
  • Kylixs
  • 2007年01月11日 22:14
  • 6308

使用python获取email的subject中带有指定字符串的邮件

#! /usr/bin/env # -*- encoding: utf-8 -*-import imaplib import email import argparse import logging ...
  • BrotherDong90
  • BrotherDong90
  • 2017年08月08日 10:11
  • 317

第一次收到猎头公司的邮件

毕竟是第一次收到啊,刚工作两个月而已。估计可能是从一些网站随便找到的,竟然还挺对口的。不过还是挺高兴的。呵呵。 ...
  • arui319
  • arui319
  • 2006年09月02日 10:01
  • 2139

javax.mail 发送中文主题subject中文乱码

subject是一个中文的字符串,用javax.mail发送邮件设置主题的时候,默认是这样写代码的 msg.setSubject(subject); 但是收到邮件后,发现中文是乱码 ...
  • lsm135
  • lsm135
  • 2017年07月20日 11:04
  • 283

WCF回调中的死锁

一、服务器端死锁对于如下服务:[ServiceContract(CallbackContract = typeof(INotify))] public class DownloadServic...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2015年07月20日 12:28
  • 1447

用VBA实现OUTLOOK接收新邮件后的自动转发

OUTLOOK自带的规则虽然可以设置自动转发,但这个规则是建立在服务器上的,但有些公司为了防止机密外泄而设置了服务器自动转发限制。解决的方法可以用OUTLOOK事件的方法来实现:Private Sub...
  • laoyebin
  • laoyebin
  • 2010年02月02日 22:54
  • 5218

Postfix接收邮件后转向执行特定的脚本

在Postfix邮件服务器搭建过程中,有时候会希望Postfix接收到邮件之后,能够转向执行特定的脚本。与之相类似的实际功能有,邮件自动回复程序、邮件内容过滤等。这个的功能可...
  • shiyuan0
  • shiyuan0
  • 2015年03月19日 11:35
  • 1310
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:处理接收到的邮件subject编码问题
举报原因:
原因补充:

(最多只允许输入30个字)