.net jMail邮件发送(含抄送、密送、多发、日志记录)实例代码

前端技术 2023/09/04 .NET

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 href=\'http://www.phpstudy.net\'>此邮件发送者</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();//邮件发送完毕,关闭邮件发送状态 
        }
    }
}

本文地址:https://www.stayed.cn/item/9529

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。