Could not create CDO.Message object – System.Web.Mail.SmtpMail
2005-10-29 03:02
597 查看
Could not create CDO.Message object – System.Web.Mail.SmtpMail
"Could not create 'CDO.Message' object" most likely means the CDO object is not properly registered or installed or both. On my Win2k workstation, checking the registry, the CDO.Message refers to the cdosys.dll located in the win system32 directory.
Then try to register cdosys.dll component:
But if you got the following error message:
DllRegisterServer in cdosys.dll failed.
Return code was: 0x800704da
Solution from Microsoft Support:
Based on the research and experience, there are several versions of CDO, which may not be able to coexist on the same machine. For more details regarding the CDO versions, please refer to:
Title: Collaboration Data Objects Roadmap
URL: http://msdn.microsoft.com/library/en-us/dncdsys/html/cdo_roadmap.asp
In order to resolve the issue, you can find the CDO file current registered, un-register it, and then re-register the file CDOSYS.DLL.
In order to find/un-register the CDO file current registered, you may refer to the following steps:
1. Launch Regedt32.exe from “Start” -> “Run”.
2. Navigate to HKEY_CLASSES_ROOT\CDO.xxxxxx (CDO.xxxxxx represents a registry item, i.e. CDO.Address), copy down the default value of the key CLSID (i.e. {CD000110-8B95-11D1-82DB-00C04FB1625D}).
3. Navigate to HKEY_CLASSES_ROOT\CLSID\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} (Note: {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} represents the value got in step 2.)
4. The default value of the sub-key “InprocServer32” is the path of the target file.
5. Un-register the file with the command line “Regsvr32 -u xxxxx.dll”.
After un-registering the file, you can try to register the file CDOSYS.DLL again, and it should work fine.
Take my local machine as an example:
C:\WINNT\system32>regsvr32 -u C:\PROGRA~1\COMMON~1\MICROS~1\CDO\CDOEX.DLL
Note the path of the above CDO DLL is from in step 2.
C:\WINNT\system32>regsvr32 cdosys.dll
Then it works fine.
Source links:
1. Developer fusion, http://www.developerfusion.co.uk/forums/topic-15962
2. dotnet247.com, http://www.dotnet247.com/247reference/msgs/28/141472.aspx
"Could not create 'CDO.Message' object" most likely means the CDO object is not properly registered or installed or both. On my Win2k workstation, checking the registry, the CDO.Message refers to the cdosys.dll located in the win system32 directory.
Then try to register cdosys.dll component:
C:\WINNT\system32>regsvr32 cdosys.dll
If success, then it’s done.But if you got the following error message:
DllRegisterServer in cdosys.dll failed.
Return code was: 0x800704da
Solution from Microsoft Support:
Based on the research and experience, there are several versions of CDO, which may not be able to coexist on the same machine. For more details regarding the CDO versions, please refer to:
Title: Collaboration Data Objects Roadmap
URL: http://msdn.microsoft.com/library/en-us/dncdsys/html/cdo_roadmap.asp
In order to resolve the issue, you can find the CDO file current registered, un-register it, and then re-register the file CDOSYS.DLL.
In order to find/un-register the CDO file current registered, you may refer to the following steps:
1. Launch Regedt32.exe from “Start” -> “Run”.
2. Navigate to HKEY_CLASSES_ROOT\CDO.xxxxxx (CDO.xxxxxx represents a registry item, i.e. CDO.Address), copy down the default value of the key CLSID (i.e. {CD000110-8B95-11D1-82DB-00C04FB1625D}).
3. Navigate to HKEY_CLASSES_ROOT\CLSID\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} (Note: {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} represents the value got in step 2.)
4. The default value of the sub-key “InprocServer32” is the path of the target file.
5. Un-register the file with the command line “Regsvr32 -u xxxxx.dll”.
After un-registering the file, you can try to register the file CDOSYS.DLL again, and it should work fine.
Take my local machine as an example:
C:\WINNT\system32>regsvr32 -u C:\PROGRA~1\COMMON~1\MICROS~1\CDO\CDOEX.DLL
Note the path of the above CDO DLL is from in step 2.
C:\WINNT\system32>regsvr32 cdosys.dll
Then it works fine.
Source links:
1. Developer fusion, http://www.developerfusion.co.uk/forums/topic-15962
2. dotnet247.com, http://www.dotnet247.com/247reference/msgs/28/141472.aspx
相关文章推荐
- How to troubleshoot the "Could not create 'CDO.Message'" error message
- 关于System.Web.Mail发送邮件报“未能访问"CDO.Message"对象”的解决
- Tomcat异常:Illegal access: this web application instance has been stopped already. Could not load java.lang.Object.
- 用 System.Web.Mail.SmtpMail 发信出现异常
- 使用system.web.mail.SMTPmail发送邮件,处理smtp验证问题
- 【SFS】Could not create a validated object, cause: ValidateObject failed
- System.Web.Mail.MailMessage c#发邮件 授权码
- IIS7 web app error : "Could not load type 'System.Security.Claims.ClaimsIdentity' from assembly
- Struts2中Could not create and/or set value back on to object的解决办法
- appium创建session失败:selenium.common.exceptions.WebDriverException: Message: A new session could not be
- 解决问题:javax.mail.MessagingException: Could not connect to SMTP host: smtp.exmail.qq.com, port: 25;
- .NET 1.1 下不使用 System.Web.Mail.SmtpMail 发送邮件的其它选择
- .NET 1.1 下不使用 System.Web.Mail.SmtpMail 发送邮件的其它选择
- C#.NET发EMAIL的几种方法 MailMessage/SmtpClient/CDO.Message
- 报错:System.InvalidOperationException Could not locate Razor Host Factory type: System.Web.Mvc.MvcWebR
- "Could not load file or assembly 'System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
- 解决错误:NAND: could not create temp file for system NAND disk image: No such file or directory
- System.Web.Mail.SmtpMail
- ASP.NET Parser Error Message: Could not load type 'Web.Global'.
- .net framework 4.0 mvc 应用部署 System.Web.Mvc 错误 Could not load file or assembly 'System.Web.Mvc