jmail 发送邮件jmail组件注册成功仍然报错,报8007005


今天终于吧jmail发邮件报错解决了,之前在本地没有问题,到服务器上报错错误为“检索 COM 类工厂中 CLSID 为 {E5FF9F62-0E7C-4372-8AD5-DA7D2418070C} 的组件时失败,原因是出现以下错误: 80070005。”,我配置jmail的过程为:

一、将jmail.dll文件放入c盘的windows目录下的system32目录下、(这边不要忘了项目里面也要添加jmail引用)
二、点击windows菜单--》运行---》输入cmd---》输入regsvr32 jmail.dll回车,然后提示注册成功就行
三、配置jmail.dll文件的访问权限(即放在system32文件下的jmail.dll文件)
给这个文件加NETWORK SERVICE这个用户的权限就可以了(至于网上说的加”IUSR_计算机名“,”IWAM_计算机名“这两个用户的权限,不过我试了就是不行,后来实在不行我就加上了NETWORK SERVICE这个用户的权限就没有问题了,可以发送了),这边注意一下配置完了最好重新注册一下jmail,重启一下iis

至于上面报的错误一定要看对了,有的错误虽然也是8007005,但是前面的大括号里面的不一样就代表是其他的问题而不是这个错误了,

下面的为发邮件的代码:
public static bool SendMails(string toMail, string emailtitle, string emailcontext)
    {
        //try
        //{
            jmail.Message Jmail = new jmail.Message();
   
            DateTime t = DateTime.Now;
            string et = emailtitle;
            string body = emailcontext;

            string ToEmail = toMail;
            //Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
            Jmail.Silent = true;
            //Jmail创建的日志,前提loging属性设置为true
            Jmail.Logging = true;
            //字符集,缺省为"US-ASCII"
            Jmail.Charset = "GB2312";
            //信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
            //Jmail.ContentType = "Multipart/Mixed";
            //添加收件人(若几个收件人就添加几行下面的代码)
            Jmail.AddRecipient(ToEmail, "", "");
            //Jmail.AddRecipientCC,Jmail.AddRecipientBCC (抄送,密送,用法同Jmail.AddRecipient)


            DataTable dt = BLL.CommonClass.CommonDataBLL.GetEmail();
            if (dt.Rows.Count == 0)
            {
                return false;
            }
            string fromemail = BLL.QuickPay.SecretSecurity.Decrypt3Des24Bit(dt.Rows[0]["Email"].ToString(), new BLL.QuickPay.SecretSecurity().EmailKey);// "qc";;
            Jmail.From = fromemail;
            //发件人邮件用户名
            Jmail.MailServerUserName = BLL.QuickPay.SecretSecurity.Decrypt3Des24Bit(dt.Rows[0]["UserName"].ToString(), new BLL.QuickPay.SecretSecurity().EmailKey);// "qc";
            //发件人邮件密码
            Jmail.MailServerPassWord = BLL.QuickPay.SecretSecurity.Decrypt3Des24Bit(dt.Rows[0]["Password"].ToString(), new BLL.QuickPay.SecretSecurity().EmailKey);//"zx001";
            //设置邮件标题
            Jmail.Subject = et;
            //邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞定了。

            [注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
            //Jmail.AddAttachment("c:\\img200610311000250.jpg", true, null);
            邮件内容,(若为纯文本就改为Jmail.Body )
            Jmail.Body = body;
            //Jmail发送的方法
            Jmail.Send(BLL.QuickPay.SecretSecurity.Decrypt3Des24Bit(dt.Rows[0]["EmailAddress"].ToString(), new BLL.QuickPay.SecretSecurity().EmailKey), false);
            Jmail.Close();
            return true;
        //}
        //catch
        //{
        //    return false;
        //}


    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值