最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#發(fā)送郵箱實(shí)現(xiàn)代碼

 更新時間:2017年01月03日 14:50:48   作者:獨(dú)釣寒江雪丶  
這篇文章主要為大家詳細(xì)介紹了C#發(fā)送郵箱實(shí)現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

之前自己從來沒有做過發(fā)送郵箱的功能,前段時間項(xiàng)目需要,在找了很多帖子之后,終于實(shí)現(xiàn)了。

之后有整理了一下,寫了一個類。直接給類傳遞信息,就可以發(fā)送了。

這里還需要說明的是,發(fā)送郵箱需要開通POP3/SMTP服務(wù),否則QQ郵箱,網(wǎng)易郵箱等會報錯。接收的郵箱就不用開通啦,開通方法百度一下就知道啦。

public static class EmailHelper
  {
    /// <summary>
    /// 發(fā)送郵件
    /// </summary>
    /// <param name="subject">郵件主題</param>
    /// <param name="msg">郵件內(nèi)容</param>
    /// <param name="filePath">附件地址,如果不添加附件傳null或""</param>
    /// <param name="senderEmail">發(fā)送人郵箱地址</param>
    /// <param name="senderPwd">發(fā)送人郵箱密碼</param>
    /// <param name="recipientEmail">接收人郵箱</param>
    public static void SendMail(string subject, string msg, string filePath, string senderEmail, string senderPwd, params string[] recipientEmail)
    {
      if (!CheckIsNotEmptyOrNull(subject, msg, senderEmail, senderPwd) || recipientEmail == null || recipientEmail.Length == 0)
      {
        throw new Exception("輸入信息無效");
      }
      try
      {
        string[] sendFromUser = senderEmail.Split('@');

        //構(gòu)造一個Email的Message對象
        MailMessage message = new MailMessage();

        //確定smtp服務(wù)器地址。實(shí)例化一個Smtp客戶端
        System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("smtp." + sendFromUser[1]);

        //構(gòu)造發(fā)件人地址對象
        message.From = new MailAddress(senderEmail, sendFromUser[0], Encoding.UTF8);

        //構(gòu)造收件人地址對象
        foreach (string userName in recipientEmail)
        {
          message.To.Add(new MailAddress(userName, userName.Split('@')[0], Encoding.UTF8));
        }

        if (!string.IsNullOrEmpty(filePath))
        {
          Attachment attach = new Attachment(filePath);
          //得到文件的信息
          ContentDisposition disposition = attach.ContentDisposition;
          disposition.CreationDate = System.IO.File.GetCreationTime(filePath);
          disposition.ModificationDate = System.IO.File.GetLastWriteTime(filePath);
          disposition.ReadDate = System.IO.File.GetLastAccessTime(filePath);
          //向郵件添加附件
          message.Attachments.Add(attach);
        }

        //添加郵件主題和內(nèi)容
        message.Subject = subject;
        message.SubjectEncoding = Encoding.UTF8;
        message.Body = msg;
        message.BodyEncoding = Encoding.UTF8;

        //設(shè)置郵件的信息
        client.DeliveryMethod = SmtpDeliveryMethod.Network;
        message.BodyEncoding = System.Text.Encoding.UTF8;
        message.IsBodyHtml = false;

        //如果服務(wù)器支持安全連接,則將安全連接設(shè)為true。
        //gmail,qq支持,163不支持
        switch (sendFromUser[1])
        {
          case "gmail.com":
          case "qq.com":
            client.EnableSsl = true;
            break;
          default:
            client.EnableSsl = false;
            break;
        }

        //設(shè)置用戶名和密碼。
        client.UseDefaultCredentials = false;
        //用戶登陸信息
        NetworkCredential myCredentials = new NetworkCredential(senderEmail, senderPwd);
        client.Credentials = myCredentials;
        //發(fā)送郵件
        client.Send(message);
      }
      catch (Exception ex)
      {
        throw (ex);
      }
    }

    /// <summary>
    /// 驗(yàn)證所有傳入字符串不能為空或null
    /// </summary>
    /// <param name="ps">參數(shù)列表</param>
    /// <returns>都不為空或null返回true,否則返回false</returns>
    public static bool CheckIsNotEmptyOrNull(params string[] ps)
    {
      if (ps != null)
      {
        foreach (string item in ps)
        {
          if (string.IsNullOrEmpty(item)) return false;
        }
        return true;
      }
      return false;
    }
  }

直接調(diào)用方法,傳遞需要發(fā)送的信息,就可以發(fā)送郵箱了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C# wpf使用ffmpeg命令行實(shí)現(xiàn)錄屏的示例代碼

    C# wpf使用ffmpeg命令行實(shí)現(xiàn)錄屏的示例代碼

    本文主要介紹了C# wpf使用ffmpeg命令行實(shí)現(xiàn)錄屏的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • C#設(shè)計模式之建造者模式生成器模式示例詳解

    C#設(shè)計模式之建造者模式生成器模式示例詳解

    這篇文章主要為大家介紹了C#設(shè)計模式之建造者模式生成器模式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • WINFORM 窗體間的傳值實(shí)現(xiàn)解析

    WINFORM 窗體間的傳值實(shí)現(xiàn)解析

    這篇文章主要介紹了WINFORM 窗體間的傳值實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • WPF開發(fā)技巧之花式控件功能擴(kuò)展詳解

    WPF開發(fā)技巧之花式控件功能擴(kuò)展詳解

    這篇文章主要給大家介紹了關(guān)于WPF日常開發(fā)之花式控件功能擴(kuò)展的相關(guān)資料,通過文中這個例子,我們可以對WPF的掌握會更深刻,需要的朋友可以參考下
    2021-07-07
  • C# 7.2中結(jié)構(gòu)體性能問題的解決方案

    C# 7.2中結(jié)構(gòu)體性能問題的解決方案

    這篇文章主要給大家介紹了關(guān)于C# 7.2中結(jié)構(gòu)體性能問題的解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • Asp.Net中MVC緩存詳解

    Asp.Net中MVC緩存詳解

    這篇文章主要介紹了Asp.Net中MVC緩存的種類區(qū)別等內(nèi)容,一下來學(xué)習(xí)下。
    2017-12-12
  • C# 獲取程序集版本、文件版本

    C# 獲取程序集版本、文件版本

    C# 獲取程序集版本、文件版本的實(shí)現(xiàn)代碼。
    2009-09-09
  • Parallel.For循環(huán)與普通for循環(huán)的性能比較

    Parallel.For循環(huán)與普通for循環(huán)的性能比較

    這篇文章介紹了Parallel.For循環(huán)與普通for循環(huán)的性能比較,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • WPF實(shí)現(xiàn)播放RTSP視頻流

    WPF實(shí)現(xiàn)播放RTSP視頻流

    這篇文章主要為大家詳細(xì)介紹了WPF實(shí)現(xiàn)播放RTSP視頻流的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-01-01
  • 自動輸出類的字段值實(shí)用代碼分享

    自動輸出類的字段值實(shí)用代碼分享

    有點(diǎn)時候在測試的時候希望打印輸出返回對象的各字段的值,采用下面的代碼可以很方便的列出對象的各字段值
    2013-12-12

最新評論

黎城县| 敦煌市| 久治县| 大冶市| 贵南县| 通城县| 郴州市| 张北县| 巴楚县| 平谷区| 江口县| 仙桃市| 曲沃县| 高阳县| 巴南区| 万荣县| 玉龙| 赫章县| 大悟县| 磐石市| 罗江县| 湟源县| 仙桃市| 个旧市| 惠水县| 旬邑县| 巩留县| 七台河市| 秦安县| 出国| 浦北县| 荣成市| 钟祥市| 津南区| 彭泽县| 定日县| 绥化市| 龙门县| 怀仁县| 厦门市| 重庆市|