使用Redemption的LogonHostedExchangeMailbox时Outlook反复要求输入密码
解决Redemption发送邮件时Outlook反复弹出密码框的问题
针对你使用Redemption 6.3.0.6164开发时遇到的密码弹窗反复出现问题,可尝试以下几种解决方案:
1. 检查LogonHostedExchangeMailbox参数正确性
LogonHostedExchangeMailbox的第一个参数支持两种传入方式:托管Exchange的域名(如contoso.com)或用于自动发现的邮箱地址。如果传入的是邮箱地址,需确保Autodiscover服务能正常解析该邮箱的Exchange配置。
可尝试将第一个参数替换为Exchange服务器的域名,示例:
Sessio.LogonHostedExchangeMailbox("your-exchange-domain.com", Mailuser, Pwd)
2. 改用Logon系列方法显式配置
若LogonHostedExchangeMailbox无法绕过认证弹窗,可尝试以下两种Logon方式:
' 方式1:使用已保存凭据的Outlook配置文件 Sessio.Logon("Your Outlook Profile Name") ' 方式2:直接指定Exchange EWS地址、账户和密码 Sessio.LogonExchangeMailbox(Mailuser, "https://your-exchange-server/EWS/Exchange.asmx", Mailuser, Pwd)
3. 检查Windows凭据管理器中的Outlook凭据
打开Windows凭据管理器(控制面板→用户账户→凭据管理器→Windows凭据),查看该Exchange邮箱的相关凭据:
- 若存在错误/过期凭据,删除后重新输入正确密码
- 若没有对应凭据,手动添加"普通凭据",填入Exchange服务器地址、邮箱账户和密码
4. 验证Redemption与Outlook的位数兼容性
确保Redemption DLL的位数(32位/64位)与安装的Outlook版本位数完全一致。位数不匹配会导致Redemption无法正常调用Outlook认证接口,引发密码弹窗。
5. 调整邮件发送配置项
尝试移除Msg.SenderEmailType = "EX"或替换为"SMTP"——EX是Exchange内部邮箱发送类型,发送外部邮件时可能触发认证异常:
Msg.SenderEmailType = "SMTP"
6. 重新注册Redemption DLL
打开管理员权限的命令提示符,执行以下命令重新注册组件,避免因注册异常导致的问题:
regsvr32 "C:\Path\To\Your\Redemption.dll"
内容的提问来源于stack exchange,提问作者user21371589
相关产品推荐
相关产品推荐

