C# 接收邮件

 /// <summary>
    /// 收取新邮件、不删除老邮件、收取邮件后写入数据库
    /// </summary>
    public static void GetNewMailIntoDataBase(string UserName,string PassWord,string PopServer,int Port,DateTime MaxDate)
    {

        string curpath = Directory.GetCurrentDirectory();
        string mailbox = String.Format("{0}\\inbox", curpath);

        // If the folder is not existed, create it.
        if (!Directory.Exists(mailbox))
        {
            Directory.CreateDirectory(mailbox);
        }

        MailServer oServer = new MailServer(PopServer,
                    UserName, PassWord, ServerProtocol.Pop3);
        MailClient oClient = new MailClient("TryIt");

        // Enable SSL connection.
        oServer.SSLConnection = true;

        // Set 995 SSL port
        oServer.Port = 995;
         try
            {
                oClient.Connect(oServer);
                MailInfo[] infos = oClient.GetMailInfos();
                for (int i = 0; i < infos.Length; i++)
                {
                    MailInfo info = infos[i];
                    Console.WriteLine("Index: {0}; Size: {1}; UIDL: {2}",
                        info.Index, info.Size, info.UIDL);

                    System.DateTime d = System.DateTime.Now;
                    System.Globalization.CultureInfo cur = new
                       System.Globalization.CultureInfo("en-US");
                    string sdate = d.ToString("yyyyMMddHHmmss", cur);
                    // Receive email from POP3 server
                    Mail oMail = oClient.GetMail(info);

                    ZWL.BLL.ERPNetEmail MyModel = new ZWL.BLL.ERPNetEmail();
                    MyModel.EmailContent = "";
                    MyModel.EmailState = "未读";
                    MyModel.EmailContent = oMail.HtmlBody;
                    MyModel.EmailTitle = oMail.Subject;
                    MyModel.FromUser = oMail.From.ToString();
                    foreach (EAGetMail.Attachment attrachment in oMail.Attachments)
                    {
                        string filefoot = attrachment.Name.Substring(attrachment.Name.LastIndexOf(".") + 1, (attrachment.Name.Length - attrachment.Name.LastIndexOf(".") - 1));   //扩展名
                        switch (filefoot)
                        {
                            case "doc": MyModel.FuJian = sdate + ".doc"; break;
                            case "docx": MyModel.FuJian = sdate + ".docx"; break;
                            case "xls": MyModel.FuJian = sdate + ".xls"; break;
                            case "xlsx": MyModel.FuJian = sdate + ".xlsx"; break;
                            case "ppt": MyModel.FuJian = sdate + ".ppt"; break;
                            case "pptx": MyModel.FuJian = sdate + ".pptx"; break;
                            case "rar": MyModel.FuJian = sdate + ".rar"; break;
                            case "zip": MyModel.FuJian = sdate + ".zip"; break;
                            case "txt": MyModel.FuJian = sdate + ".txt"; break;
                            case "jpg": MyModel.FuJian = sdate + ".jpg"; break;
                            case "png": MyModel.FuJian = sdate + ".png"; break;
                        }
                        //if (attrachment.Name.Contains(".doc")||attrachment.Name.Contains(".docx"))
                        //{
                        //    MyModel.FuJian = sdate + ".doc";
                        //}
                        //if (attrachment.Name.Contains(".xls") || attrachment.Name.Contains(".xlsx"))
                        //{
                        //    MyModel.FuJian = sdate + ".xls";
                        //}
                        //if (attrachment.Name.Contains(".ppt") || attrachment.Name.Contains(".pptx"))
                        //{
                        //    MyModel.FuJian = sdate + ".ppt";
                        //}
                        //if (attrachment.Name.Contains(".rar"))
                        //{
                        //    MyModel.FuJian = sdate + ".rar";
                        //}
                        //if (attrachment.Name.Contains(".zip"))
                        //{
                        //    MyModel.FuJian = sdate + ".zip";
                        //}
                        //if (attrachment.Name.Contains(".txt"))
                        //{
                        //    MyModel.FuJian = sdate + ".txt";
                        //}
                        string fileName1 = System.Web.HttpContext.Current.Request.MapPath("../UploadFile") + "\\" + MyModel.FuJian;
                        attrachment.SaveAs(fileName1, true);

                    }
                    MyModel.ToUser = ZWL.Common.PublicMethod.GetSessionValue("UserName");
                    MyModel.TimeStr = oMail.ReceivedDate;
                    MyModel.Add();
                    Console.WriteLine("From: {0}", oMail.From.ToString());
                    Console.WriteLine("Subject: {0}\r\n", oMail.Subject);

                    string fileName = System.Web.HttpContext.Current.Request.MapPath("../UploadFile") + "\\" + MyModel.FuJian;

                    // Save email to local disk

                  //  oMail.SaveAs(fileName, true);

                    // Mark email as deleted from POP3 server.
                    oClient.Delete(info);
                }

                // Quit and pure emails marked as deleted from POP3 server.
                oClient.Quit();
            }
            catch (Exception ep)
            {
                Console.WriteLine(ep.Message);
            }
时间: 2024-10-16 12:06:47

C# 接收邮件的相关文章

C# 利用Jmail接收邮件[转]

1.   w3 Jmail4.3组件重新设计了其内部结构--使用Message对象代替原来的单一对象Jmail.smtpmail发送邮件: 2.   w3 Jmail4.3组件一共有十多个对象(后面将详细介绍)--这些对象中,绝大多数是针对Jmail.Message对象操作的: 3.   支持从POP3邮件服务器收取邮件: 4.   支持加密邮件的传输: 5.   快速发送,一次会话就完成邮件发送: 6.   还有一个特性就是可以使用w3 Jmail4.3组件的集群发送功能一次发送成千上万个邮件

Android Java使用JavaMail API发送和接收邮件的代码示例

JavaMail是Oracle甲骨文开发的Java邮件类API,支持多种邮件协议,这里我们就来看一下Java使用JavaMail API发送和接收邮件的代码示例 使用Javamail发送邮件,必需的jar包(请下载javamail的源文件,官方下载页:http://www.oracle.com/technetwork/java/javamail/index-138643.html):mailapi.jar.定义了收发邮件所使用到的接口API:smtp.jar.包含了发送邮件使用到的类:pop3.

linux(CentOS)之postfix服务器Dovecot接收邮件

一.安装Dovecot来接收邮件,使用rpm方式安装完dovecot软件以后,需要经过一些修改才能正常使用. 首先,直接使用系统的yum源安装dovecot yum install dovecot 修改配置文件 1. 在/etc/dovecot/dovecot.conf中修改 protocols = imap pop3 lmtp    支持的协议 login_trusted_networks = 192.168.10.0/24   //指定允许登录的网段地址 这样在使用outlook客户端登录的

Delphi 使用Indy的TidPOP3接收邮件

最近测试了下delphi的Indy控件包中的TIdPOP3接收邮件功能,由于有些邮件服务器必须支持加密方式,所以,本测试直接使用的是加密方式(SSL),如果不需要加密方式,只需要更改服务端口以及断开POP3控件的IOHandler即可. 使用中应该先连接服务器,然后在进行读取或者删除处理,之后要断开服务器. 程序代码如下: {新的POP3邮件接收函数包,使用POP3的协议 对于没有加密(SLL)的端口为:110 如果使用SSL加密协议,端口号:995 函数包提供 连接,读取,删除,断开 四个函数

JavaMail实现收发邮件——(三)接收邮件

JavaMail接收邮件和发送邮件基本一致,大体上是把Transport换成了Store.不过和发送相比,难点是对接收到的邮件进行解析,不然看起来就跟乱码一样.之所以解析这一块难,就在于一封未知的邮件你不知道它的结构是怎样的,因此需要我们通过判断一步步解析.对于这一点,我也不是很清楚,所以下面我就瞎写一点基础的. 一.首先连接POP3服务器获取邮件 (1)创建Properties对象以及Session对象 // 创建一个有具体连接信息的Properties对象   Properties prop

python中使用poplib模块接收邮件

目的:用poplib模块接收邮件,并处理文本内容. 环境:windows 7 Python 3.5.3 情景:服务器一般预警都会有邮件通知,如果通知比较多且邮箱还会收到其他的邮件时,这时从中整理出预警信息并统计的话,这个也算是一个比较重复繁琐的事,可以用脚本自动收集信息,并整理相关信息到表格内,方便查看. 使用邮件模块接收邮件需要导入poplib,这个模块是内置的. import poplib # 服务器及用户信息 email = '邮箱地址' username = '登录用户名' passwo

使用imap协议接收邮件

之前一直使用PHPMail类进行发送邮件,这个是一个非常强大的类,但是其实底层就是使用mail()函数来进行发送的. 但是现在公司有个需求是  写个程序需要实时的接收邮件,主要是判断邮件发出去了,并且是否能够成功收到的作用. 因此现在使用pop3协议来进行邮件的收取,通过 IMAP stream来获取到邮件.程序如下: <?php $mailServer="mail.staff.sina.com.cn"; $mailLink="{mail.staff.sina.com.

domino用户foxmail接收邮件时报“Maildrop opened for exclusive access by another user”的解决办法

[背景] 近期,不少用户foxmail接收domino系统的邮件时报"Maildrop opened for exclusive access by another user". [解决办法] 在notes.ini增加参数POP_SESSION_TIMEOUT=10问题不在出现(可以在控制台输入 set config POP_SESSION_TIMEOUT=10) 参考资料 http://www-01.ibm.com/support/docview.wss?uid=swg2124758

java Exchange服务接收邮件

/** serverName 接收邮件地址 user 用户信息 pwd 密码 path 邮件临时储存路径 max 每次接收邮件的最大数量 **/ public int receive(String serverName, String user, String pwd, String path, int max) throws Exception {         //新建ExchangeVersion.Exchange2007_SP1版本的Exchange服务 ExchangeService

C#接收邮件附件

接收邮件类 using System; using System.Net.Sockets; using System.Net; using System.Security.Cryptography; using System.IO; using System.Data; namespace Common { /// <summary> /// 获取邮件的类 /// </summary> public class POP3 { private string m_Address = &