C# jmail收取邮件(带附件)

本文介绍如何利用C#的Jmail库来收取包含附件的未读邮件,通过GetMessageUID方法获取邮件唯一标识,并提供了解决删除邮件问题的提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/* jmail组件的使用方法在网上很容易找到 */
//测试邮箱地址为 recieveceshi@163.com
POP3 pop = new POP3();
try
{
    //创建连接
    pop.Connect("recieveceshi", "qwerty", "pop.163.com");
    //收取邮件数量
    int emailCount = pop.Count;
    for (int i = 1; i <= emailCount; i++)
    {
        /* 
            * i 要从1开始循环,因为pop.Messages[i]的索引是从1开始的,这个有点怪
            * 获取邮件在服务器端的唯一标识,很重要的一个东西。本例中没有用到,但也提一下

            * string emailUID = pop.GetMessageUID(i);

    * 细节可以看下这个:jmail收取未读邮件(带附件)

            */


        //下载pop3获取的信息中索引为i的邮件。
        //pop.Messages[i]和pop.DownloadSingleMessage(i)基本是等效的

        jmail.Message emailMessage = pop.DownloadSingleMessage(i);
        //服务器端收信时间
        DateTime recieveTime = emailMessage.Date;
        //收件人
        string recieveMan = emailMessage.RecipientsString;
        //发件人email地址
        string fromMan = emailMessage.From;
        //发件人昵称
        string fromManName = emailMessage.FromName;
        //邮件主题
        string subject = emailMessage.Subject;
        // 邮件主体内容, HTML格式:emailMessage.HTMLBody
        string body = emailMessage.Body;


        //邮件的附件处理
        //每封邮件的所有附件

        jmail.Attachments attachments = emailMessage.Attachments;
        /* jmail.Attachments 索引正常,从0开始就好 */
        for (int j = 0; j < attachments.Count; j++)
        {
            //根据索引取附件
            jmail.Attachment attachment = attachments[j];
            //附件名
            string fileName = attachment.Name;
            //附件保存在指定路径,不要有同名文件,否则出异常
            attachment.SaveToFile(@"C:\" + fileName);
        }
        /*
            * 根据索引删除邮件,读取完成就删除
            * pop.DeleteSingleMessage(i);
            */ 



            /**** 先下载邮件,之后有必要时再删除邮件****/

            /* 
            * jmail 删除邮件的解决方案

            */
    }
    //断开连接
    pop.Disconnect();

    MessageBox.Show("海上升明月,天涯共此时。");

}
catch
{
    MessageBox.Show("片云天共远,永夜月同孤。");

}


/**完成时间 2014-8-26**/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值