最近Tony小编在VS2003+Office 2010的环境下编写了一个使用OutLook发送邮件的功能(具体模块代码参见文章“关于C#发送邮件模块”),在模块从无到有,从测试到收尾的过程中遇见很多错误和异常,那么下面Tony小编就这些错误和异常做一个小结,希望对大家有所帮助,如果在哪里有不足之处,还请各位高手加以指正。
其实说到Office组件那么就肯定离不开DCOM的设置,DCOM中的设置如下:
1:在服务器上安装office的OutLook软件.
2:在"开始"->"运行"中输入dcomcnfg启动"组件服务"
3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"
4:在"DCOM配置"中找到"Mocrosoft Outlook Command ButtonControl",在它上面点击右键,然后点击"属性",弹出"Mocrosoft Outlook Command ButtonControl 应用程序属性"对话框
5:在"DCOM配置"中找到"Outlook Messge Attachment",在它上面点击右键,然后点击"属性",弹出"Outlook Messge Attachment 应用程序属性"对话框
6:在"DCOM配置"中找到"otkloadr",在它上面点击右键,然后点击"属性",弹出"otkloadr 应用程序属性"对话框
7:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户和“EVERYONE”,并给它赋予全部权限
8:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户和“EVERYONE”,并给它赋予全部权限
9:点击"标识"标签,选择"交互式用户"
做过步骤9之后,在这里有些时候就可能会出现以下问题:
错误&异常:
系统发生未知异常,检索 COM 类工厂中 CLSID 为{0006F03A-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误:8000401a。
原因:
选择了“交互式用户”
解决方案:
取消交互式用户,指定为下列用户,并在下列用户那里输入机器登陆的用户名和密码。
注意:以上步骤7-9必须在步骤4-6中都要设置!
更改为“下列用户”之后,在这里有些时候就可能会出现以下问题:
错误&异常:
系统发生未知异常,无法打开文件C:\Users\Administrator\Documents\Outlook 文件\Outlook.pst
原因:
是你在调用OutLook发送邮件时候,windows就会去找默认的OutLook数据源文件(.pst),而你没有设置成需要调用邮件账户的数据源文件时,那么就会报“系统发生未知异常,无法打开文件C:\Users\Administrator\Documents\Outlook 文件\Outlook.pst”而这里的Outlook.pst就是需要调用邮件账户的数据源文件。
解决方案:
1、打开OutLook,选择“文件”---“账户设置”---“电子邮件”---选择列出的全部用户并删除。
2、打开OutLook,选择“文件”---“账户设置”---“数据文件”---选择列出的全部数据文件并删除,默认的数据文件无法删除保留即可,关闭并退出OutLook。
3、打开”C:\Users\Administrator\Documents\Outlook 文件“目录,将文件夹下的全部配置文件删除。
若无法删除:
* 启动任务管理器,在进程中找到outlook.exe并结束进程,即可删除。
* 重新启动计算机,即可删除。
4、点击“开始”---“控制面板”---“邮件”---“显示配置文件”,将列出的全部配置文件全部删除。
5、点击“开始”---“控制面板”---“邮件”---“显示配置文件”---“添加”---输入自定义别名“XXX”---“确定”,下面按照配置邮件账户的步骤继续即可。
6、设置完成后,选择“始终使用此配置文件”并在下拉框中选择配置好的数据文件“XXX”---点击“应用”---"确定"。