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

.net jMail郵件發(fā)送(含抄送、密送、多發(fā)、日志記錄)實(shí)例代碼

 更新時(shí)間:2013年11月26日 16:25:47   作者:  
這篇文章主要介紹了.net jMail郵件發(fā)送(含抄送、密送、多發(fā)、日志記錄)實(shí)例代碼,有需要的朋友可以參考一下

jmail是一個(gè)第三方郵件操作組件,通常位于web服務(wù)器端,實(shí)現(xiàn)收郵件及發(fā)郵件功能(客戶端用Foxmail這類就很好了)??梢岳盟p松實(shí)現(xiàn)發(fā)郵件、抄送、密送、多發(fā)、日志記錄及收郵件功能。本章要講的,就是:發(fā)郵件、抄送、密送、多發(fā)、日志記錄。

一、組件準(zhǔn)備
下載JMail44_pro并安裝(記下安裝路徑)

找到安裝路徑,將其中的jmail.dll復(fù)制到項(xiàng)目中

二、核心發(fā)送代碼
新建MailAPI.cs,并輸入以下代碼

復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using jmail;
using System.IO;

namespace JmailDemo
{
    public class MailAPI
    {
        /// <summary>
        /// 郵件發(fā)送
        /// </summary>
        /// <param name="zt">主題</param>
        /// <param name="zw">正文</param>
        /// <param name="getMail">收件人地址</param>
        /// <param name="fromMail">發(fā)件人地址,多個(gè)地址間用英文逗號(hào)或分號(hào)隔開(kāi)</param>
        /// <param name="csMail">抄送人地址,多個(gè)地址間用英文逗號(hào)或分號(hào)隔開(kāi)</param>
        /// <param name="msMail">密送人地址,多個(gè)地址間用英文逗號(hào)或分號(hào)隔開(kāi)</param>
        /// <param name="fjMail">附件服務(wù)器目錄,多個(gè)服務(wù)器端目錄之間以英文逗號(hào)或分號(hào)隔開(kāi)</param>
        public void Send(string zt, string zw, string getMail, string fromMail, string csMail, string msMail, string fjMail)
        {
            jmail.Message jmessage = new Message();
            //Jmail系統(tǒng)配置 
            jmessage.Charset = "GB2312";
            jmessage.Encoding = "base64";
            //配置郵件信息 
            jmessage.Subject = zt.Trim();//郵件主題 
            jmessage.HTMLBody = zw;//郵件正文 
            //配置收件人信息 
            string[] sj = getMail.Split(',', ';');
            if (sj.Length > 1)
            {
                for (int i = 0; i < sj.Length; i++)
                {
                    jmessage.AddRecipient(sj[i], "", "");//收件人郵箱地址
                }
            }
            else
            {
                jmessage.AddRecipient(sj[0], "", "");
            }
            //配置抄送人信息 
            string[] cs = csMail.Split(',', ';');
            if (cs.Length > 1)
            {
                for (int i = 0; i < cs.Length; i++)
                {
                    jmessage.AddRecipientCC(cs[i]);
                }
            }
            else
            {
                jmessage.AddRecipient(cs[0], "", "");
            }
            //配置密送人信息
            string[] ms = msMail.Split(',', ';');
            if (ms.Length > 1)
            {
                for (int i = 0; i < ms.Length; i++)
                {
                    jmessage.AddRecipientBCC(ms[i]);
                }
            }
            else
            {
                jmessage.AddRecipient(ms[0], "", "");
            }
            //配置發(fā)件人信息 
            jmessage.ReplyTo = fromMail;//指定收件人回復(fù)的,所回復(fù)到的地址 
            jmessage.From = fromMail;//郵件發(fā)件人的郵箱地址 
            jmessage.FromName = "Test!";//郵件發(fā)件人顯示的姓名 
            jmessage.MailServerUserName = fromMail;//用戶名身份驗(yàn)證 
            jmessage.MailServerPassWord = "password";//發(fā)送郵件在服務(wù)器中的密碼 
            //配置附件 
            string[] fj = fjMail.Split(',', ';');
            if (fj.Length > 1)
            {
                for (int i = 0; i < fj.Length; i++)
                {
                    jmessage.AddAttachment(fj[i],true,null);
                }
            }
            else
            {
                jmessage.AddRecipient(sj[0], "", "");
            }
            //配置追加信息
            jmessage.AppendHTML("<a href='http://m.fzitv.net'>此郵件發(fā)送者</a>");
            //發(fā)送郵件 
            for (int i = 0; i < sj.Length; i++)
            {
                jmessage.Send("smtp.qq.com", false);//發(fā)送郵件服務(wù)器 
            }
            //配置jmail日志
            jmessage.Logging = true;
            using (StreamWriter sw = new StreamWriter("E:\\log.txt", true))
            {
                sw.Write(jmessage.Log);
                sw.Close();
            }
            jmessage.Close();//郵件發(fā)送完畢,關(guān)閉郵件發(fā)送狀態(tài) 
        }
    }
}

說(shuō)明:
1)在//配置收件人信息//配置抄送人信息//配置密送人信息//配置附件 這四處用if...else...是為解決單郵件發(fā)送和多郵件發(fā)送的問(wèn)題,設(shè)成**.length>0這個(gè)條件也行,但如果這樣做,比如:沒(méi)有抄送人時(shí),cs長(zhǎng)度為1,cs[0]是因?yàn)闆](méi)有這個(gè)郵箱地址才沒(méi)有發(fā)送出去;

2)配置jmail郵件日志 一定要寫到發(fā)送郵件的后面,且jmessage.Logging = true;和sw.Write(jmessage.Log);一定要同時(shí)使用;

3) 日志記錄到文件 E:\\log.txt 中,要選存在,用log4net也行;

4) 當(dāng)出報(bào)錯(cuò):the message was undeliverable.all servers failed to receive the message時(shí),原因?yàn)閟mtp服務(wù)器不支持,更換smtp服務(wù)器,以前用163的沒(méi)問(wèn)題,但現(xiàn)在用163的不行了。

三、調(diào)用發(fā)送代碼:
新建Mail.aspx,添加一個(gè)服務(wù)端按鈕,在其單擊事件中寫以下代碼:

復(fù)制代碼 代碼如下:

        protected void Button1_Click(object sender, EventArgs e)
        {
            MailAPI sendMail = new MailAPI();
            string fj = Server.MapPath("files/JSON.rar");
            //sendMail.Send("這是主題", "這是正文", "這是收件人郵箱列表", "這是發(fā)件人郵箱地址", "抄送人郵箱列表", "密件人郵箱列表", "附件服務(wù)器地址列表");
            sendMail.Send("這是主題", "這是正文", "aaa@163.com,bbb@qq.com", "ccc@qq.com", "ddd@163.com,eee@qq.com", "", fj);
            //各列表之間以 英文狀態(tài)的逗號(hào)分分號(hào)隔開(kāi)
        }

相關(guān)文章

  • 使用chrome控制臺(tái)作為.Net的日志查看器

    使用chrome控制臺(tái)作為.Net的日志查看器

    這篇文章介紹了使用chrome控制臺(tái)作為.Net日志查看器的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • ASP.NET Core全面掃盲貼

    ASP.NET Core全面掃盲貼

    本篇文章主要介紹了.NET Core,.NET Core是一個(gè)開(kāi)源通用的開(kāi)發(fā)框架,支持跨平臺(tái),即支持在Window,macOS,Linux等系統(tǒng)上的開(kāi)發(fā)和部署有興趣的可以了解一下。
    2017-03-03
  • 詳解ASP.NET Core Web Api之JWT刷新Token

    詳解ASP.NET Core Web Api之JWT刷新Token

    這篇文章主要介紹了詳解ASP.NET Core Web Api之JWT刷新Token,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • asp.net下日期和時(shí)間處理的類庫(kù)

    asp.net下日期和時(shí)間處理的類庫(kù)

    發(fā)一個(gè)專門處理時(shí)間和日期的類庫(kù),記錄以備查詢
    2012-02-02
  • Asp.net 網(wǎng)站性能優(yōu)化二則分享

    Asp.net 網(wǎng)站性能優(yōu)化二則分享

    Web服務(wù)器的性能優(yōu)化有很多資料介紹了,多臺(tái)主機(jī)負(fù)載均衡,查詢結(jié)果的多級(jí)緩存,數(shù)據(jù)庫(kù)索引優(yōu)化等都是常見(jiàn)的優(yōu)化手段。
    2011-08-08
  • .NET6中使用CuteEditor詳解

    .NET6中使用CuteEditor詳解

    本文詳細(xì)講解了.NET6中使用CuteEditor的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-12-12
  • 在ASP.Net Web Forms中使用依賴注入的步驟

    在ASP.Net Web Forms中使用依賴注入的步驟

    這篇文章主要介紹了在ASP.Net Web Forms中使用依賴注入的步驟,幫助大家更好的理解和學(xué)習(xí)使用.NET技術(shù),感興趣的朋友可以了解下
    2021-03-03
  • 在 .NET Core 中使用 Diagnostics (Diagnostic Source) 記錄跟蹤信息

    在 .NET Core 中使用 Diagnostics (Diagnostic Source) 記錄跟蹤信息

    今天給大家講一下在 .NET Core 2 中引入的全新 DiagnosticSource 事件機(jī)制,為什么說(shuō)是全新呢? 在以前的 .NET Framework 有心的同學(xué)應(yīng)該知道也有 Diagnostics,那么新的 .NET Core 中有什么變化呢?跟隨小編一起看看吧
    2021-06-06
  • asp.net開(kāi)發(fā)微信派發(fā)現(xiàn)金紅包/H5網(wǎng)頁(yè)搶紅包功能(思路詳解)

    asp.net開(kāi)發(fā)微信派發(fā)現(xiàn)金紅包/H5網(wǎng)頁(yè)搶紅包功能(思路詳解)

    這篇文章主要介紹了asp.net開(kāi)發(fā)微信派發(fā)現(xiàn)金紅包/H5網(wǎng)頁(yè)搶紅包功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • ASP.NET Core中實(shí)現(xiàn)全局異常攔截的完整步驟

    ASP.NET Core中實(shí)現(xiàn)全局異常攔截的完整步驟

    這篇文章主要給大家介紹了關(guān)于ASP.NET Core中如何實(shí)現(xiàn)全局異常攔截的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評(píng)論

德保县| 肇州县| 寿光市| 东乡族自治县| 雷山县| 定边县| 兴国县| 岢岚县| 潼关县| 敖汉旗| 东安县| 株洲市| 武汉市| 新乡县| 抚州市| 常熟市| 康保县| 兴宁市| 鄂尔多斯市| 武平县| 永靖县| 建平县| 金堂县| 兴义市| 克什克腾旗| 南皮县| 镇平县| 景泰县| 临颍县| 濉溪县| 平南县| 湾仔区| 长子县| 桐梓县| 淳化县| 洱源县| 磐安县| 左云县| 偃师市| 莱阳市| 灵山县|