zoukankan      html  css  js  c++  java
  • Jmail读取邮件详细内容乱码问题

     Jmail控件的操作很简单,实现收发邮件只需几行代码,但经常会有人遇到收邮件时,部分内容是乱码的问题,比如读取别人转发的邮件时,经过我的测试,所有转发邮件Jmail都未能正常读取。是什么原因呢?见图:

    上图是用CMD命令读到的邮件网络流数据,其中每个像From: ……;  To: ……都是一个域,每个域代表了不同的意义,具体大家可以网上查,挺多资料,这是MIME邮件格式,是现在最普遍的邮件格式。

    不说废话,继续Jmail的问题,为什么Jmail不能正常读取,个人还不是很清楚,不过个人感觉是Jmail读邮件时是按行读取的,而正好,转发的邮件每个域的内容都是换行的,比如Jmail发现了From,那么它就取From冒号后面的内容,然后解码,但并没有取全,自然就解不了码。

    免费的Jmail不会给用户提供太多的功能

    那么怎么解决这个问题呢,大家可以尝试让Jmail读取一个邮件的所有数据:

    jmail.POP3Class popEmail = new POP3Class();
    jmail.Message msg;

    jmail.Attachments atts;

     try
    {
           popEmail.Connect(user, pass, addr, int.Parse(port));       //参数分别是:用户名,密码,邮件服务器地址(我用的是pop.qq.com),端口号(对应pop:110

           string emailText = popEmail.Messages[i].Text                   //这里读到的就是整个邮件的内容(未解码)

    }

    catch(Exception ex)

    {

    }

    finally

    {

            popEmail.Disconnect();

    }

    得到未解码的邮件后就需要大家自己解码,怎么解码呢?大家就需要了解MIME邮件格式,编码解码方式,和正则表达式,具体实现方法还没完整的,本人也只做了部分,但现在没时间,暂时先和大家说说方法。

    待续……

  • 相关阅读:
    516. 最长回文子序列
    NC50493 环形石子合并
    NC16650 采药
    NC16664 合唱队形
    NC51170 石子合并
    148. 合并果子
    NC25138 子串查询
    二维数组对角线 的 规律
    如何讲一个网页转换为jpg?(图片!)
    Java两倍 犯错题
  • 原文地址:https://www.cnblogs.com/ViviChan/p/4981718.html
Copyright © 2011-2022 走看看