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

C#實現(xiàn)SMTP郵件發(fā)送程序實例

 更新時間:2014年10月10日 11:21:36   投稿:shichen2014  
這篇文章主要介紹了C#實現(xiàn)SMTP郵件發(fā)送程序實例,是一個非常常見的實用技巧,需要的朋友可以參考下

通常來說郵件發(fā)送功能在網站應用程序中經常會用到,包括大家經??吹降牟┛停谔砑釉u論后,系統(tǒng)會自動發(fā)送郵件通知到我郵箱的,把系統(tǒng)發(fā)送郵件的功能整理了下,本文展示了一個客戶端Demo,希望對有需要的朋友有所幫助。運行效果如下圖所示:

核心代碼如下:

復制代碼 代碼如下:
using System;
using System.Net;
using System.Net.Mail;
using System.Text;
namespace HC.Email
{
    /// <summary>
    ///     整站郵件服務類
    /// </summary>
    public class EmailService
    {
        /// <summary>
        ///     發(fā)送郵件
        /// </summary>
        /// <param name="mailTo">收件人
        /// <param name="subject">主題
        /// <param name="body">內容
        /// <returns></returns>
        public static bool Send(string mailTo, string subject, string body)
        {
            return Send(new[] {mailTo}, null, subject, body, true, null);
        }
        /// <summary>
        ///     發(fā)送郵件
        /// </summary>
        /// <param name="mailTo">收件人
        /// <param name="subject">主題
        /// <param name="body">內容
        /// <returns></returns>
        public static bool Send(string[] mailTo, string subject, string body)
        {
            return Send(mailTo, null, subject, body, true, null);
        }
 
        /// <summary>
        ///     發(fā)送郵件
        /// </summary>
        /// <param name="mailTo">收件人
        /// <param name="subject">主題
        /// <param name="body">內容
        /// <param name="attachmentsPath">附件
        /// <returns></returns>
        public static bool Send(string[] mailTo, string subject, string body, string[] attachmentsPath)
        {
            return Send(mailTo, null, subject, body, true, attachmentsPath);
        }
 
        /// <summary>
        ///     發(fā)送郵件
        /// </summary>
        /// <param name="mailTo">收件人
        /// <param name="mailCcArray">抄送
        /// <param name="subject">主題
        /// <param name="body">內容
        /// <param name="isBodyHtml">是否Html
        /// <param name="attachmentsPath">附件
        /// <returns></returns>
        public static bool Send(string[] mailTo, string[] mailCcArray, string subject,string body, bool isBodyHtml,
                                string[] attachmentsPath)
        {
            try
            {
                var config = ConfigHelper.GetConfig<emailconfig>();
                if (string.IsNullOrEmpty(config.Host) ||string.IsNullOrEmpty(config.UserName) ||
                    string.IsNullOrEmpty(config.Port) ||string.IsNullOrEmpty(config.Password))
                {
                    //todo:記錄日志
                    return false;
                }
                var @from = new MailAddress(config.MailFrom); //使用指定的郵件地址初始化MailAddress實例
                var message = new MailMessage(); //初始化MailMessage實例
                //向收件人地址集合添加郵件地址
                if (mailTo != null)
                {
                    foreach (string t in mailTo)
                    {
                        message.To.Add(t);
                    }
                }
 
                //向抄送收件人地址集合添加郵件地址
                if (mailCcArray != null)
                {
                    foreach (string t in mailCcArray)
                    {
                        message.CC.Add(t);
                    }
                }
                //發(fā)件人地址
                message.From = @from;
 
                //電子郵件的標題
                message.Subject = subject;
 
                //電子郵件的主題內容使用的編碼
                message.SubjectEncoding = Encoding.UTF8;
 
                //電子郵件正文
                message.Body = body;
 
                //電子郵件正文的編碼
                message.BodyEncoding = Encoding.Default;
                message.Priority = MailPriority.High;
                message.IsBodyHtml = isBodyHtml;
 
                //在有附件的情況下添加附件
                if (attachmentsPath != null && attachmentsPath.Length > 0)
                {
                    foreach (string path in attachmentsPath)
                    {
                        var attachFile = new Attachment(path);
                        message.Attachments.Add(attachFile);
                    }
                }
                try
                {
                    var smtp = new SmtpClient
                        {
                            Credentials = new NetworkCredential(config.UserName, config.Password),
                            Host = config.Host,
                            Port = Convert.ToInt32(config.Port)
                        };
 
                    //將郵件發(fā)送到SMTP郵件服務器
                    smtp.Send(message);
                    //todo:記錄日志
                    return true;
                }
                catch (SmtpException ex)
                {
                    //todo:記錄日志
                    return false;
                }
            }
            catch (SmtpException ex)
            {
                //todo:記錄日志
                return false;
            }
        }
    }
}

完整實例代碼點擊此處本站下載

希望本文所述對大家的C#程序設計有所幫助

相關文章

  • C#正則表達式Regex類用法實例分析

    C#正則表達式Regex類用法實例分析

    這篇文章主要介紹了C#正則表達式Regex類用法,實例分析了其中比較常見的幾類用法,具有一定的實用價值,需要的朋友可以參考下
    2014-10-10
  • winform攔截關閉按鈕觸發(fā)的事件示例

    winform攔截關閉按鈕觸發(fā)的事件示例

    這篇文章主要介紹了c# winform攔截關閉按鈕觸發(fā)的事件示例,大家參考使用吧
    2014-01-01
  • C#中各種計時器用法小結

    C#中各種計時器用法小結

    這篇文章主要介紹了C#中各種計時器用法,結合實例形式總結分析了C#中各種常用時間相關類實現(xiàn)計時器功能的操作技巧,需要的朋友可以參考下
    2017-06-06
  • C#使用帶like的sql語句時防sql注入的方法

    C#使用帶like的sql語句時防sql注入的方法

    這篇文章主要介紹了C#使用帶like的sql語句時防sql注入的方法,采用了一個比較簡單的字符串過濾方法就可以有效提高sql語句的安全性,防止sql注入,需要的朋友可以參考下
    2014-09-09
  • C#面向對象編程中依賴反轉原則的示例詳解

    C#面向對象編程中依賴反轉原則的示例詳解

    在面向對象編程中,SOLID?是五個設計原則的首字母縮寫,旨在使軟件設計更易于理解、靈活和可維護。本文將通過實例詳細講講C#面向對象編程中依賴反轉原則,需要的可以參考一下
    2022-07-07
  • WinForm實現(xiàn)移除控件某個事件的方法

    WinForm實現(xiàn)移除控件某個事件的方法

    這篇文章主要介紹了WinForm實現(xiàn)移除控件某個事件的方法,對C#初學者有一定的借鑒價值,需要的朋友可以參考下
    2014-08-08
  • 基于C#?實現(xiàn)?OPC?DA?Server的問題小結

    基于C#?實現(xiàn)?OPC?DA?Server的問題小結

    這篇文章主要介紹了基于C#?實現(xiàn)?OPC?DA?Server的相關知識,關于C#怎么編寫一個進程外的DCOM組件,這里先不做介紹了,這里主要介紹下OPC?DA?Server?的第一個接口,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • C# TabControl手動觸發(fā)DrawItem的實現(xiàn)

    C# TabControl手動觸發(fā)DrawItem的實現(xiàn)

    本文主要介紹了C# TabControl手動觸發(fā)DrawItem的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • C# OCR實現(xiàn)文字識別功能

    C# OCR實現(xiàn)文字識別功能

    OCR,中文叫做光學字符識別。它是利用光學技術和計算機技術把印在或寫在紙上的文字讀取出來,并轉換成一種計算機能夠接受、人又可以理解的格式。本文將利用OCR實現(xiàn)文字識別功能,感興趣的可以了解一下
    2022-11-11
  • C#利用Task實現(xiàn)任務超時多任務一起執(zhí)行的方法

    C#利用Task實現(xiàn)任務超時多任務一起執(zhí)行的方法

    這篇文章主要給大家介紹了關于C#利用Task實現(xiàn)任務超時,多任務一起執(zhí)行的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友下面來一起看看吧。
    2017-12-12

最新評論

迭部县| 紫云| 大洼县| 日喀则市| 达日县| 富锦市| 浙江省| 绥滨县| 桂阳县| 元朗区| 辽中县| 漳州市| 甘孜县| 宿迁市| 台安县| 阿图什市| 加查县| 霍邱县| 隆德县| 永顺县| 澳门| 法库县| 襄汾县| 永修县| 贵定县| 博湖县| 唐河县| 曲阳县| 罗山县| 斗六市| 磐石市| 海盐县| 修武县| 洛浦县| 辽宁省| 青浦区| 金寨县| 土默特右旗| 广平县| 阿图什市| 璧山县|