婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > .net jMail郵件發送(含抄送、密送、多發、日志記錄)實例代碼

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

熱門標簽:外呼系統代理品牌 怎么給超市做地圖標注入駐店 辦理400電話證件 寧波自動外呼系統代理 世紀佳緣地圖標注怎么去掉 巫師3為什么地圖標注的財寶沒有 十堰正規電銷機器人系統 手機地圖標注如何刪除 外呼系統費用一年

jmail是一個第三方郵件操作組件,通常位于web服務器端,實現收郵件及發郵件功能(客戶端用Foxmail這類就很好了)。可以利用它輕松實現發郵件、抄送、密送、多發、日志記錄及收郵件功能。本章要講的,就是:發郵件、抄送、密送、多發、日志記錄。

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

找到安裝路徑,將其中的jmail.dll復制到項目中

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

復制代碼 代碼如下:

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

namespace JmailDemo
{
    public class MailAPI
    {
        /// summary>
        /// 郵件發送
        /// /summary>
        /// param name="zt">主題/param>
        /// param name="zw">正文/param>
        /// param name="getMail">收件人地址/param>
        /// param name="fromMail">發件人地址,多個地址間用英文逗號或分號隔開/param>
        /// param name="csMail">抄送人地址,多個地址間用英文逗號或分號隔開/param>
        /// param name="msMail">密送人地址,多個地址間用英文逗號或分號隔開/param>
        /// param name="fjMail">附件服務器目錄,多個服務器端目錄之間以英文逗號或分號隔開/param>
        public void Send(string zt, string zw, string getMail, string fromMail, string csMail, string msMail, string fjMail)
        {
            jmail.Message jmessage = new Message();
            //Jmail系統配置 
            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], "", "");
            }
            //配置發件人信息 
            jmessage.ReplyTo = fromMail;//指定收件人回復的,所回復到的地址 
            jmessage.From = fromMail;//郵件發件人的郵箱地址 
            jmessage.FromName = "Test!";//郵件發件人顯示的姓名 
            jmessage.MailServerUserName = fromMail;//用戶名身份驗證 
            jmessage.MailServerPassWord = "password";//發送郵件在服務器中的密碼 
            //配置附件 
            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 );
            //發送郵件 
            for (int i = 0; i sj.Length; i++)
            {
                jmessage.Send("smtp.qq.com", false);//發送郵件服務器 
            }
            //配置jmail日志
            jmessage.Logging = true;
            using (StreamWriter sw = new StreamWriter("E:\\log.txt", true))
            {
                sw.Write(jmessage.Log);
                sw.Close();
            }
            jmessage.Close();//郵件發送完畢,關閉郵件發送狀態 
        }
    }
}

說明:
1)在//配置收件人信息//配置抄送人信息//配置密送人信息//配置附件 這四處用if...else...是為解決單郵件發送和多郵件發送的問題,設成**.length>0這個條件也行,但如果這樣做,比如:沒有抄送人時,cs長度為1,cs[0]是因為沒有這個郵箱地址才沒有發送出去;

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

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

4) 當出報錯:the message was undeliverable.all servers failed to receive the message時,原因為smtp服務器不支持,更換smtp服務器,以前用163的沒問題,但現在用163的不行了。

三、調用發送代碼:
新建Mail.aspx,添加一個服務端按鈕,在其單擊事件中寫以下代碼:

復制代碼 代碼如下:

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

您可能感興趣的文章:
  • asp+JMAIL實現發送郵件
  • Jmail發送郵件與帶附件亂碼解決辦法分享
  • Jmail 圖文安裝教程 asp在線發送郵件組件
  • asp jmail發郵件 詳細解析
  • Jmail組件發送郵件之絕對能用的函數
  • Jmail發郵件的例子
  • ASP用JMail、CDO發送郵件
  • Jmail發送郵件工具類分享

標簽:嘉興 天門 通遼 牡丹江 平涼 景德鎮 山西 泰州

巨人網絡通訊聲明:本文標題《.net jMail郵件發送(含抄送、密送、多發、日志記錄)實例代碼》,本文關鍵詞  .net,jMail,郵件,發送,含,抄送,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《.net jMail郵件發送(含抄送、密送、多發、日志記錄)實例代碼》相關的同類信息!
  • 本頁收集關于.net jMail郵件發送(含抄送、密送、多發、日志記錄)實例代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 楚雄市| 荣昌县| 清远市| 栖霞市| 四会市| 克什克腾旗| 乐东| 上高县| 茂名市| 南阳市| 神木县| 庆城县| 福贡县| 襄汾县| 黄石市| 楚雄市| 澳门| 贞丰县| 治多县| 阿尔山市| 祁东县| 巴青县| 遂昌县| 忻州市| 公主岭市| 阜康市| 泽库县| 疏勒县| 察雅县| 巴林左旗| 高要市| 廊坊市| 西峡县| 霞浦县| 平山县| 武强县| 宁波市| 上虞市| 苗栗市| 邓州市| 芒康县|