zoukankan      html  css  js  c++  java
  • 基于LumiSoft.Net.dll发、收、删邮件

    发邮件:

    using LumiSoft.Net.SMTP.Client;  
      
      
    Mime m = new Mime();  
    MimeEntity mainEntity = m.MainEntity;  
    // Force to create From: header field  
    mainEntity.From = new AddressList();  
    mainEntity.From.Add(new MailboxAddress(txtFrom.Text, txtFrom.Text));  
     // Force to create To: header field  
     mainEntity.To = new AddressList();  
     mainEntity.To.Add(new MailboxAddress(txtTo.Text, txtTo.Text));  
    mainEntity.Subject = txtSubject.Text;  
    //添加正文  
    mainEntity.ContentType = MediaType_enum.Multipart_mixed;  
    MimeEntity textEntity = mainEntity.ChildEntities.Add();  
    textEntity.ContentType = MediaType_enum.Text_html;  
    textEntity.ContentTransferEncoding = ContentTransferEncoding_enum.Base64;  
    textEntity.DataText = txtBody.Text;  
    //发送附件  
      MimeEntity attachmentEntity = new MimeEntity();  
      attachmentEntity.ContentType = MediaType_enum.Application_octet_stream;  
      attachmentEntity.ContentDisposition = ContentDisposition_enum.Attachment;  
      attachmentEntity.ContentTransferEncoding = ContentTransferEncoding_enum.Base64;  
      attachmentEntity.ContentDisposition_FileName = "c:/test.jpg";  
      attachmentEntity.DataFromFile("c:/test.jpg");  
          
      mainEntity.ChildEntities.Add(attachmentEntity);  
          
      SMTP_Client.QuickSend(m);  
    

      收邮件:

    using LumiSoft.Net.POP3.Client;  
    using LumiSoft.Net;  
    using LumiSoft.Net.Mime;  
    [csharp] view plain copy
    public List<Mime> GetEmails(string pop3Server, string pop3Port, string username, string password)  
            {  
                bool pop3UseSsl = false;  
                List<string> gotEmailIds = new List<string>();  
                List<Mime> result = new List<Mime>();  
                using (POP3_Client pop3 = new POP3_Client())  
                {  
                    try  
                    {  
                        pop3.Connect(pop3Server, Convert.ToInt32(pop3Port), pop3UseSsl);  
                        pop3.Authenticate(username, password, false);  
                        POP3_ClientMessageCollection infos = pop3.Messages;  
                        foreach (POP3_ClientMessage info in infos)  
                        {  
                            if (gotEmailIds.Contains(info.UID))  
                                continue;  
                            byte[] bytes = info.MessageToByte();  
                            gotEmailIds.Add(info.UID);  
                            Mime mime = Mime.Parse(bytes);  
                            result.Add(mime);  
                        }  
                    }  
                    catch (Exception ex)  
                    {  
                        throw new Exception(ex.Message);  
                    }  
                }  
                return result;  
            }  
    

      删除邮件:

    using LumiSoft.Net.POP3.Client;  
    using LumiSoft.Net;  
    using LumiSoft.Net.Mime;  
    [csharp] view plain copy
    private void DeleteMail()  
            {  
                using (POP3_Client c = new POP3_Client())  
                {  
                    c.Connect(pop3Server, Convert.ToInt32(pop3Port));  
                    c.Authenticate(username, password, false);  
                    if (c.Messages.Count > 0)  
                    {  
                        foreach (POP3_ClientMessage mail in c.Messages)  
                        {  
                            mail.MarkForDeletion();  
                        }  
                    }  
                }  
            }  
    

      

  • 相关阅读:
    聚簇索引和非聚簇索引(通俗易懂 言简意赅)
    Java-线程池专题(什么是线程池,如何使用,为什么要用)
    在Spring Boot中动态实现定时任务配置
    面试被问:如果系统 CPU 突然飙升且 GC 频繁,你该如何排查?
    深入理解volatile
    redis3.0常用命令
    redis3.0配置文件详解
    mysql max_allowed_packet 设置过小导致记录写入失败
    linux 项目部署问题
    python sokct 包详解
  • 原文地址:https://www.cnblogs.com/amylis_chen/p/6657783.html
Copyright © 2011-2022 走看看