jmail 发送邮件jmail组件注册成功仍然报错,报8007005
来源:互联网 发布:海尔三网电视网络升级 编辑:程序博客网 时间:2024/06/05 11:56
今天终于吧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,但是前面的大括号里面的不一样就代表是其他的问题而不是这个错误了,
下面的为发邮件的代码:
一、将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; //} }
- jmail 发送邮件jmail组件注册成功仍然报错,报8007005
- Jmail组件发送邮件
- JMail发送邮件组件用法
- 利用Jmail组件发送邮件
- ASP JMail组件发送邮件
- asp Jmail发送邮件 注册提示
- 如何使用Jmail组件发送邮件
- Jmail组件发送邮件失败的原因
- 使用sql server+jmail组件发送邮件
- 使用jMail组件发送邮件(.NET)
- 在asp中用jmail组件发送邮件
- JMail组件发送邮件的Asp代码
- ASP.NET邮件发送,jmail组件
- 利用jmail qq邮箱发邮件 报错 解决方法
- 64位Windows Jmail组件报错解决方案
- 用JMail发送邮件
- asp+jmail发送邮件
- JMail邮件发送实例教程
- blocks(闭包)学习笔记
- javascript中的new
- vim插件latex-suite的使用入门
- poj2485
- ETM早教管理软件单店部署架构攻略
- jmail 发送邮件jmail组件注册成功仍然报错,报8007005
- 控制字符串长度(中英文保持一致) .
- 学习方法
- HDU 1233 还是畅通工程
- The type net.sf.hibernate.Session cannot be resolved.
- 二叉树两个最低的共同父节点
- uva 11205 - The broken pedometer
- 安卓免费开放式课程
- JAVA学习笔记(5)对象和类(上)