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);
                
            }






  • 相关阅读:
    Codeforces #250 (Div. 2) B. The Child and Set
    linux下又一次定位svn url方法
    查看hive版本号
    好947 Mybatis 配置resultMap 带參数查询Map 注意selectOne数据库返回结果一条数据库 否则会报错
    csdn加入暂时会话功能
    第二十五天 慵懒的投射在JDBC上的暖阳 —Hibernate的使用(四)
    lzma 知识点滴
    golang 登录
    docker入门
    创建和管理表(10)
  • 原文地址:https://www.cnblogs.com/scottckt/p/1116072.html
Copyright © 2011-2022 走看看