Sharepoint SPUtility发送电子邮件时出错

Sharepoint SPUtility发送电子邮件时出错,sharepoint,email,send,Sharepoint,Email,Send,我正在尝试在Web部件中的按钮单击事件中发送电子邮件。但是,电子邮件发送失败,错误同时记录在计算机的sharepoint日志和事件查看器中。 错误是:无法连接到SMTP主机 已配置管理中心中的传出电子邮件设置。警报也可以正常工作 下面是我的代码: StringDictionary headers = new StringDictionary(); headers.Add("to", "someone@abc.com"); headers.Add("from", "MySharePointE

我正在尝试在Web部件中的按钮单击事件中发送电子邮件。但是,电子邮件发送失败,错误同时记录在计算机的sharepoint日志和事件查看器中。 错误是:无法连接到SMTP主机

已配置管理中心中的传出电子邮件设置。警报也可以正常工作

下面是我的代码:

 StringDictionary headers = new StringDictionary();
 headers.Add("to", "someone@abc.com");
 headers.Add("from", "MySharePointEmail@myfatblog.co.uk");
 headers.Add("subject", "How to use SendEMail from SPUtility");
 headers.Add("content-type", "text/html"); 
 string bodyText = "This is the body of my email, in html format.";
 SPUtility.SendEmail(SPContext.Current.Web, headers, bodyText);

提前感谢

尝试在不使用系统帐户的情况下运行代码(如果需要)

还可以尝试:

要设置DisableLoopbackCheck注册表项,请执行以下步骤:

  • 单击开始,单击运行,键入regedit,然后单击确定
  • 在注册表编辑器中,找到并单击以下注册表项: HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
  • 在Lsa上单击鼠标右键,指向“新建”,然后单击“DWORD值”
  • 键入DisableLoopbackCheck,然后按ENTER键
  • 右键单击DisableLoopbackCheck,然后单击修改
  • 在“值数据”框中,键入1,然后单击“确定”
  • 退出注册表编辑器,然后重新启动计算机

    • 我把它修好了。反病毒是问题的根源。但我想知道SharePoint是如何发送邮件的?

      我已经解决了这个问题。反病毒是问题的根源。但我想知道SharePoint是如何发送邮件的?可能是因为SharePoint alert me电子邮件是从SharePoint计时器服务发出的,您的代码是在ASP.NET w3wp下运行的,并且您的防病毒软件已设置为允许计时器进程。