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

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

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

核心代碼如下:

復(fù)制代碼 代碼如下:
using System;
using System.Net;
using System.Net.Mail;
using System.Text;
namespace HC.Email
{
    /// <summary>
    ///     整站郵件服務(wù)類
    /// </summary>
    public class EmailService
    {
        /// <summary>
        ///     發(fā)送郵件
        /// </summary>
        /// <param name="mailTo">收件人
        /// <param name="subject">主題
        /// <param name="body">內(nèi)容
        /// <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">內(nèi)容
        /// <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">內(nèi)容
        /// <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">內(nèi)容
        /// <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實(shí)例
                var message = new MailMessage(); //初始化MailMessage實(shí)例
                //向收件人地址集合添加郵件地址
                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;
 
                //電子郵件的標(biāo)題
                message.Subject = subject;
 
                //電子郵件的主題內(nèi)容使用的編碼
                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郵件服務(wù)器
                    smtp.Send(message);
                    //todo:記錄日志
                    return true;
                }
                catch (SmtpException ex)
                {
                    //todo:記錄日志
                    return false;
                }
            }
            catch (SmtpException ex)
            {
                //todo:記錄日志
                return false;
            }
        }
    }
}

完整實(shí)例代碼點(diǎn)擊此處本站下載。

希望本文所述對大家的C#程序設(shè)計(jì)有所幫助

相關(guān)文章

  • C#正則表達(dá)式Regex類用法實(shí)例分析

    C#正則表達(dá)式Regex類用法實(shí)例分析

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

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

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

    C#中各種計(jì)時(shí)器用法小結(jié)

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

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

    這篇文章主要介紹了C#使用帶like的sql語句時(shí)防sql注入的方法,采用了一個(gè)比較簡單的字符串過濾方法就可以有效提高sql語句的安全性,防止sql注入,需要的朋友可以參考下
    2014-09-09
  • C#面向?qū)ο缶幊讨幸蕾嚪崔D(zhuǎn)原則的示例詳解

    C#面向?qū)ο缶幊讨幸蕾嚪崔D(zhuǎn)原則的示例詳解

    在面向?qū)ο缶幊讨?,SOLID?是五個(gè)設(shè)計(jì)原則的首字母縮寫,旨在使軟件設(shè)計(jì)更易于理解、靈活和可維護(hù)。本文將通過實(shí)例詳細(xì)講講C#面向?qū)ο缶幊讨幸蕾嚪崔D(zhuǎn)原則,需要的可以參考一下
    2022-07-07
  • WinForm實(shí)現(xiàn)移除控件某個(gè)事件的方法

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

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

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

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

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

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

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

    OCR,中文叫做光學(xué)字符識別。它是利用光學(xué)技術(shù)和計(jì)算機(jī)技術(shù)把印在或?qū)懺诩埳系奈淖肿x取出來,并轉(zhuǎn)換成一種計(jì)算機(jī)能夠接受、人又可以理解的格式。本文將利用OCR實(shí)現(xiàn)文字識別功能,感興趣的可以了解一下
    2022-11-11
  • C#利用Task實(shí)現(xiàn)任務(wù)超時(shí)多任務(wù)一起執(zhí)行的方法

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

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

最新評論

溧阳市| 高安市| 景宁| 会宁县| 黎平县| 宜君县| 伊宁市| 丹阳市| 平顶山市| 合阳县| 洛隆县| 小金县| 沙洋县| 永嘉县| 定南县| 扎兰屯市| 离岛区| 中西区| 吴川市| 济南市| 云龙县| 嘉定区| 旬邑县| 南昌市| 惠水县| 宁乡县| 二手房| 福清市| 克拉玛依市| 台东县| 磴口县| 渝中区| 大石桥市| 道孚县| 离岛区| 赣州市| 三穗县| 崇左市| 康马县| 当雄县| 九龙坡区|