C#使用smtp发送邮件带附件

這里使用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);
            
        }

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页