• Could not create CDO.Message object – System.Web.Mail.SmtpMail


    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:

     

    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

     

  • 相关阅读:
    hdu5081
    hdu5079
    hdu5076
    hdu5072
    codeforces 739E
    codeforces 739D
    2017.2其他简要题解
    spring事务传播回滚策略
    mybatis一级缓存和二级缓存
    spring-boot-mybatis-starter工作原理
  • 原文地址:https://www.cnblogs.com/rickie/p/264219.html
Copyright © 2020-2023  润新知