C#中用Smtp發郵件

來源:互聯網
上載者:User
     這裡使用SMTP發郵件,什麼是SMTP呢?SMTP:“Simple Mail Transfer Protocol”,即簡易郵件傳輸通訊協定。它是一組用於從源地址到目的地址傳輸郵件的規範,通過它來控制郵件的中轉方式。

    要發送郵件,先瞭解郵件有哪些內容構成:
        郵件服務器地址    
        連接埠
        寄件人
        收件者
        副本人
        密件人
        標題
        本文
        附件
    知道這些內容後,我們就知道在設置郵件時需要設置哪些東西了。

如何發呢?
    發送郵件需使System.Net.Mail命名空間
    使用其中的SmtpClient、MailMessage和Attachment三個類。
         1. MailMessage:表示可以使用 SmtpClient 類發送的電子郵件。(郵件的資訊)
         2. Attachment:表示電子郵件的附件。
         3. SmtpClient:允許應用程式使用簡易郵件傳輸通訊協定 (SMTP) 來寄送電子郵件。

    註:郵件中的內容與MailMessage中屬性的對應如下:

郵件部分

屬性

寄件者

From

收件者

To

抄送 (CC)

CC

密件副本 (BCC)

Bcc

附件

Attachments

主題

Subject

郵件內文

Body

下邊來看一下代碼:

        /// <summary>
        /// 發送郵件的基礎代碼(不需要設定寄件者賬戶及密碼)
        /// </summary>
        private static void SendMailBaseCode()
        {
            //實例化郵件資訊類
            MailMessage msg = new MailMessage();
            //寄件人 
            msg.From = new MailAddress(MailSender);
            //收件者
            msg.To.Add("XXX@xxx.com");
            //標題
            msg.Subject = "test";
            //標題編碼 
            msg.SubjectEncoding = Encoding.UTF8;

            //本文
            msg.Body = "test body";
            //本文編碼
            msg.BodyEncoding = Encoding.UTF8;
            //本文是否用Html形式
            msg.IsBodyHtml = false;

            //實例化附件類
            //附件
            Attachment amAnnex = new Attachment(@"D:\ckmsg.txt");
            msg.Attachments.Add(amAnnex);

            //實例化SMTPClinet類
            SmtpClient scMailServer = new SmtpClient();
            //郵件服務器地址
            scMailServer.Host = "xxx.xxx.xxx.xxx";
            //連接埠
            scMailServer.Port = 25;

            //發送郵件
            scMailServer.Send(msg);
        }

        /// <summary>
        /// 發送郵件的基礎代碼(需要賬號)        
        /// </summary>
        private static void SendMailNeedBaseCode()
        {
            MailMessage msg = new MailMessage();
            msg.From = new MailAddress("XXX@163.com");
            msg.To.Add("XXX@xxx.com");
            msg.Subject = "test";
            msg.SubjectEncoding = Encoding.UTF8;

            Attachment amAnnex = new Attachment(@"D:\ckmsg.txt");
            msg.Attachments.Add(amAnnex);

            msg.Body = "test body";
            msg.BodyEncoding = Encoding.UTF8;

            msg.IsBodyHtml = true;

            SmtpClient scMailServer = new SmtpClient();
            scMailServer.DeliveryMethod = SmtpDeliveryMethod.Network;
            scMailServer.Credentials = new NetworkCredential("XXX", "XXX");
            scMailServer.Host = "smtp.163.com";
            scMailServer.Port = 25;
            scMailServer.Send(msg);
            
        }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.