C#送信メールの実装例解析

5681 ワード

C#送信メールはSystemを使用する.Net.Mailが実現するには、このような実現において、このようないくつかの問題に注意しなければならない.C#送信メールはSystemを使用する.Net.Mailが実現する具体的な例は何ですか?今から私たちの話を始めます.
1、System.Net.MailはNET 2.0以降のバージョンで推奨されている方法は、いくつかの符号化問題といくつかのセキュリティ検証の問題を解決し、MailMessageクラスの書き換えにより、より多くの関数を提供し、MailMessageの構築をより便利にします.
2、System.Net.Mail.MailMessageにはSubjectEncodingプロパティが追加されており、To,Cc,Bccにはいくつかのドメインでの方法が追加されており、メールの群発をより容易に実現することができます.さらに,よりオブジェクト向けのMailAddressクラスのオブジェクトを用いてメールアドレスを示す.
3、System.Net.MailにはSmtpClientクラスが追加されています.このクラスには、リンクを安全にリンクできるタグなど、本アプリケーションのいくつかの方法と属性が含まれています.
4、注目すべきは、一般的にSMTP(Simple Message Transfer Protocol)が使用するポートは25であり、これも多くのメールサービス期間に提供されるポートであるが、gmailは異なり、gmailの最新ポートは587であり、以前の465ではない.
5、Gmailのサーバーは安全なリンクを要求するので、必ずSenderを指定しなければならない.EnableSsl = true.
6、さらにSmtpClientオブジェクトには非常に重要な方法があります.紹介するのは、SendAsync()です.この方法はすでにリロードされています.public void SendAsync(MailMessage,object userToken)は、MailMessageを送信オブジェクトとして使用し、勇userTokenが非同期操作時に呼び出す方法を指定することを要求します.public void SendAsync(string from,string recipients,string subject,string body,object userToken)は、MailMessageオブジェクトを確立することなく直接メールを送信することができ、userTokenは前の関数と同じであり、public void SendAsyncCancel()は、非同期操作をキャンセルしてメールを送信するために使用される.
C#送信メールはSystemを使用する.Net.Mailが実装するインスタンス

 
   
  1. using System;   
  2. using System.Collections;   
  3. using System.Text;   
  4. using System.Net;   
  5. using System.Net.Mail;   
  6.  
  7. namespace NetMailSend   
  8. {   
  9. class Programe   
  10. {   
  11. public static void Main(string[] args)   
  12. {   
  13. //mail message   
  14. MailMessage myMail = new MailMessage();   
  15. myMail.From = new MailAddress("[email protected]");   
  16. myMail.To.Add(new MailAddress("[email protected]"));   
  17. myMail.Subject = "Test";   
  18. myMail.SubjectEncoding = Encoding.UTF8;   
  19. myMail.Body = "You are successed.";   
  20. myMail.BodyEncoding = Encoding.UTF8;   
  21. myMail.IsBodyHtml = false;   
  22. myMail.Priority = MailPriority.High;   
  23. myMail.CC.Add(new MailAddress("[email protected]"));   
  24. myMail.Bcc.Add(new MailAddress("[email protected]"));  
  25. //smtp client   
  26. SmtpClient sender = new SmtpClient();   
  27. sender.Host = "smtp.gmail.com";   
  28. sender.Port = 587;   
  29. sender.Credentials =   
  30. new NetworkCredential("[email protected]""test");   
  31. sender.DeliveryMethod = SmtpDeliveryMethod.Network;   
  32. sender.EnableSsl = true;   
  33. try   
  34. {   
  35. sender.Send(myMail);   
  36. Console.WriteLine("Success");   
  37. }   
  38. catch (Exception e)   
  39. {   
  40. Console.WriteLine("Failed.Exception:{0}", e.Message);   
  41. }   
  42. Console.Write("Press any key to quit...");   
  43. Console.ReadKey();   
  44. }   
  45. }   
  46. }   
  47.  

C#送信メールはSystemを使用する.Net.Mailが実現する具体的な内容はここまで紹介します.C#のメール送信を理解し、勉強するのに役立つことを望んでいます.