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






  • 相关阅读:
    Springboot 配置Slf4j + Logback
    一步一步创建SpringCloud项目(二)—— 使用feign和ribbon调用微服务
    一步一步创建SpringCloud项目(一)——创建项目父工程、Eureka
    rabbitmq使用笔记
    docker部署rabbitmq
    Maven pom文件中dependency scope用法
    MySQL事务隔离级别总结
    docker安装redis
    RabbitMQ的消息确认机制
    centos7.6 下安装docker,docker compose
  • 原文地址:https://www.cnblogs.com/scottckt/p/1116072.html
Copyright © 2011-2022 走看看