【问题标题】:Not able to send mail from out look无法从outlook发送邮件
【发布时间】:2014-04-06 01:18:36
【问题描述】:

我正在尝试使用以下代码从用户的 Outlook 发送文件夹发送邮件。但它显示以下错误: 我的代码

try
{
    Outlook.Application oApp = new Outlook.Application();
    Outlook.NameSpace oNamespace = new Outlook.NameSpace("MAPI");
    Outlook.MailItem oMailItem =     (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);
    oMailItem.HTMLBody = bd.Trim();

    oMailItem.Subject = sbj.Trim();
    Outlook.Recipients oRecips = (Outlook.Recipients)oMailItem.Recipients;
    Outlook.Recipient oRecip = (Outlook.Recipient)oRecips.Add(bccadd);
    oRecip.Resolve();
    oMailItem.Send();
    oRecip = null;
    oRecips = null;
    oMailItem = null;
    oApp = null;
}
catch (Exception ex)
{
    Response.Write("<script>alert('" + ex.Message + "');</script>");
    //string script = "<script>alert('" + ex.Message + "');</script>";
}

但我收到以下错误:

检索具有 CLSID 的组件的 COM 类工厂 {0006F03A-0000-0000-C000-000000000046} 由于以下原因而失败 错误:80070005 访问被拒绝。 (来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))

【问题讨论】:

  • 如果我的理解是正确的,看起来你正试图在你的网络服务器上加载 Outlook 对象......仅仅因为用户在他们计算机上的浏览器上运行网站,不意味着您的 ASP.NET 代码可以在他们的计算机上使用 Outlook
  • 您使用的用户帐号没有正确的用户权限

标签: c# javascript asp.net outlook


【解决方案1】:

您需要了解并始终牢记 ASP.NET 页面在服务器上运行,而不是在客户端计算机上运行. Web 服务器执行您编写的 C# 代码(粗略地说)。 C# 代码(连同 ASPX 文件)生成 (HTML) 内容,然后发送到客户端的浏览器。

您不能使用该代码通过用户的 Outlook 安装发送电子邮件。您编写的代码尝试通过安装在服务器上的 Outlook 发送电子邮件!

【讨论】:

  • Hello Dittmar ..有没有办法从用户 Outlook 发送邮件?在 asp.net 中
  • 没有。您可以使用客户端 JavaScript 试试运气。或者您可能希望将 Outlook 设置为默认邮件应用程序并使用简单的“mailto:”链接。您需要使用 Outlook 而不是简单地依赖默认邮件程序有什么特殊原因吗?
  • 如果邮件来自用户 Outlook ,他将在他的发送项目文件夹中有副本。从审核的角度来看这是强制性的
  • 我不使用 Outlook - 我使用 Apple Mail。怎么办?如果您使用mailto: 链接,用户将在任何 电子邮件程序中 决定使用一个“已发送”副本,想象一下!你可以让它工作,而不是你的 Outlook 方法;-)
猜你喜欢
  • 2015-03-13
  • 1970-01-01
  • 2022-07-20
  • 2013-05-27
  • 2020-05-01
  • 2020-04-14
  • 2020-09-19
  • 2018-07-24
相关资源
最近更新 更多