zoukankan      html  css  js  c++  java
  • 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);
                
            }

  • 相关阅读:
    链表问题(5)-----读取
    链表问题(4)----环形链
    服务器上安装anaconda
    链表问题(3)-----反转
    (1)安装vagrant和virtualbox
    链表问题(2)-----删除
    链表问题(1)----遍历和实现
    Python笔记26----正则表达式匹配
    读书笔记--SQL必知必会04--过滤数据
    Docker
  • 原文地址:https://www.cnblogs.com/googlegis/p/2978764.html
Copyright © 2011-2022 走看看