c#QQメールプログラミング学習(メール送受信)

6409 ワード

今回のc#メール管理プログラミングを実現する目的は、第三者のメール管理を実現することであり、メールボックスはQQメールボックスに基づいて、送信メールは直接.NETが持参したSystem.Net.Mail類を採用し、受信メールは第三者コンポーネントLumisoft.Netを採用する.基本的に実装された受信メールと送信メールコードを以下に記録する.
1.メール送信:System.Net.Mailベース.
using System.Net.Mail;
  public void SendMail(string MailFrom, string MailTo, string MailPwd, string Mailtitle,string MailCon,string attachMentUrl)
        {
            SmtpClient client = new SmtpClient("smtp.qq.com");
            client.EnableSsl = true;
            client.UseDefaultCredentials = false;
            client.Credentials = new System.Net.NetworkCredential(MailTo + "@qq.com", MailPwd);

            MailAddress From = new MailAddress(MailFrom + "@qq.com", "fxy", Encoding.UTF8);
            MailAddress To = new MailAddress(MailTo + "@qq.com", "", Encoding.UTF8);

            MailMessage myMessage = new MailMessage(From,To);
            myMessage.Body = MailCon;
            myMessage.BodyEncoding = Encoding.UTF8;
            myMessage.Subject = Mailtitle;
            myMessage.SubjectEncoding = Encoding.UTF8;
            myMessage.IsBodyHtml = true;

            Attachment attachment = new Attachment(attachMentUrl);
            myMessage.Attachments.Add(attachment);

            try
            {
                client.Send(myMessage);
            }
            catch (InvalidOperationException e)
            { }
            catch (Exception e)
            { }
            finally
            {
                Console.ReadLine();
            }
        }

2.受信メール:Lumisoft.Net(
using LumiSoft.Net.POP3.Client;
using LumiSoft.Net.Mail;
 public void GetEmails()
        {
            using (POP3_Client c = new POP3_Client())
            {
                c.Connect("pop.qq.com", 995, true);
                c.Login("[email protected]", "sjgqkszeqlcqgihc");
                if (c.Messages.Count > 0)
                {
                    for (var i = 0; i < c.Messages.Count; i++)
                    {
                        var t = Mail_Message.ParseFromByte(c.Messages[i].MessageToByte());
                        var from = t.From;
                        var to=t.To;
                        var date = t.Date;
                        var subject = t.Subject;
                        var bodyText=t.BodyText;
                    }
                    
                }
            }
        }