ASP.NETメール送信

5562 ワード

1.知識の補充
(1)POP 3とSMTPサーバとは?
簡単に言えば、POP 3は電子メールを受信するために使用され、SMTPは電子メールを送信するために使用される.
(1)POP 3具体的には何を指しますか?
POP 3(Post Office Protocol 3)は、パソコンがインターネット上のメールサーバにどのように接続してメールを送受信するかを規定する郵便局プロトコルの第3バージョンである.これはインターネットの電子メールの最初のオフラインプロトコルの標準で、POP 3プロトコルはユーザーがサーバーからローカルホスト(つまり自分のコンピュータ)にメールを保存することを許可し、同時にクライアントの操作によってメールサーバーに保存されたメールを削除したり保存したりすることを許可し、POP 3サーバーはPOP 3プロトコルに従った受信メールサーバーで、電子メールを受信するために使用されます.POP 3プロトコルはTCP/IPプロトコルファミリーの一員であり、RFC 1939によって定義される
(2)SMTPとは具体的に何ですか.
SMTPのフルネームは「Simple Mail Transfer Protocol」、すなわち単純メール転送プロトコルである.これは、ソースアドレスから宛先アドレスにメールを送信するための仕様のセットであり、それによってメールの中継方式を制御します.SMTPプロトコルはTCP/IPプロトコルクラスタに属し、各コンピュータがメッセージを送信または中継するときに次の宛先を見つけるのを助ける.SMTPサーバとは、SMTPプロトコルに従った送信メールサーバである.
 
2.System.Net.Mail
ASPを使用する.NETが電子メールを送信するにはSystemを参照する必要がある.Net.Mailネーミングスペース.System.Net.Mailネーミングスペースには、簡単なメール転送プロトコル(SMTP)サーバに電子メールを送信するためのクラスが含まれています.
(1)ネーミングスペースには、3つの比較的主要なクラスがあります.
MailMessage:メール・メッセージ・オブジェクト、すなわちメール・コンテンツを作成するための属性と方法を提供します.
Attachment:属性とメソッドを指定して、メール添付オブジェクト、すなわちメール添付ファイルを作成します.
SmtpClient:メール送信用に指定したSMTPホストにEメールを送信します.
(2)MailMessageクラス:
From:メールを送信するアドレスTo:メールを受信するアドレスSubject:メールのタイトルPriority:メールの優先度(それぞれHigh,Low,Normal)Attachments:電子メールのデータの添付ファイル集合Bcc:密送アドレスCc:CC:CCアドレスBody:メール本文SubjectEncoding:電子メールのテーマコンテンツに使用する符号化
IsBodyHtml:メール本文がHtml形式の値か
詳細参照:MailMessage
(3)Attachment類:
詳細参照先:Attachment
(4)SmtpClientクラス:
DeliveryMethod:送信する電子メールの処理方法を指定します.
Host:SMTPトランザクションのホスト名またはIPアドレス
Credentials:送信者の認証に使用する認証情報を設定します.
詳細リファレンス:SmtpClient
 
 3.ASP.NETメール送信の2つの方法
(1)メールサービスプロバイダのSMTPによるメール送信
まず、メールサービスプロバイダのSMTPを使用するため、対応するサービスプロバイダの無料メールボックスを登録する必要があります.彼らは身分を検証する必要があります.これにより、大量の迷惑メールを避けることができます.
SMTPサーバ、ユーザー名、パスワードの3つが重要です.ネット上からいくつかのクラスが集められていますので、参考にしてください.
 
    #region
    /// <summary>
    ///     
    /// </summary>
    /// <param name="mailTo">      </param>
    /// <param name="mailSubject">    </param>
    /// <param name="mailContent">    </param>
    /// <returns>         </returns>
    public static bool SendEmail(string mailTo,string mailSubject,string mailContent)
    {
        //           ,       smtp
        string smtpServer = "smtp.163.com"; //SMTP   
        string mailFrom = "[email protected]"; //     
        string userPassword = "XXX";//    

        //       
        SmtpClient smtpClient=new SmtpClient();
        smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//          
        smtpClient.Host = smtpServer; //  SMTP   
        smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//      

        //               
        MailMessage mailMessage = new MailMessage(mailFrom, mailTo); //        
        mailMessage.Subject = mailSubject;//  
        mailMessage.Body = mailContent;//  
        mailMessage.BodyEncoding = Encoding.UTF8;//    
        mailMessage.IsBodyHtml = true;//   HTML  
        mailMessage.Priority = MailPriority.Low;//   

        try
        {
            smtpClient.Send(mailMessage); //     
            return true;
        }
        catch (SmtpException ex)
        {
            return false;
        }
    }

 
(2)自機のSMTP仮想サーバのSMTPを利用してメールを送信する
SMTPの構成が必要なのは、やはり第一の簡単で実用的なことです.
 
4.参考資料:常用メールサーバー
gmail.com:POP 3サーバアドレス:pop.gmail.comSMTPサーバーアドレス:smtp.gmail.com
qq.com:
POP 3サーバアドレス:pop.qq.comSMTPサーバーアドレス:smtp.qq.com
163.com:POP 3サーバアドレス:pop.163.com SMTPサーバーアドレス:smtp.163.com 
sina.com: 
POP 3サーバアドレス:pop 3.sina.com.cn SMTPサーバーアドレス:smtp.sina.com.cn 
yahoo.com:POP 3サーバアドレス:pop.mail.yahoo.com SMTPサーバーアドレス:smtp.mail.yahoo.com 
sohu.com:POP 3サーバアドレス:pop 3.sohu.com SMTPサーバーアドレス:smtp.sohu.com 
china.com:POP 3サーバアドレス:pop.china.com SMTPサーバーアドレス:smtp.china.com 
21cn.com:POP 3サーバアドレス:pop.21cn.com SMTPサーバーアドレス:smtp.21cn.com sina.com: 
インスタンスのダウンロード
 
作者:ForEverNoME
出典:http://www.cnblogs.com/ForEvErNoME/
転載や共有を歓迎しますが、必ず文章の出所を声明してください.もし文章があなたの役に立つならば、あなたができることを望みます
推奨または
に注目