C#-从SHarepoint发送电子邮件

时间:2018-09-19 10:46:02

标签: c# sharepoint

在触发事件接收者之后,我想从共享点内向本地域的用户发送电子邮件。

我将如何处理?

任何帮助将不胜感激。

非常感谢,

Freddie

1 个答案:

答案 0 :(得分:1)

您并没有为您的问题提供太多背景信息,所以我只想指出最简单的选择。

在大多数情况下,您应该只能使用SPUtility.SendMail(..)重载之一

所以,像这样的东西就足够了 var headers = new StringDictionary();     headers.Add(“ from”,from);

headers.Add("to", to);
headers.Add("cc", cc);
headers.Add("bcc", bcc);

headers.Add("subject", subject);

headers.Add("content-type", "text/html");
SPUtility.SendEmail(web, headers, body);

也就是说,请记住,SPUtility.SendEmail不是很健壮(有时,甚至在发送邮件时都不会指出错误的情况下也不会指出...)。

由于这个原因,某些消息源更喜欢只使用记录良好的SmtpClient来代替。在这种情况下,唯一有问题的部分是获取出站电子邮件服务器地址。

SmtpClient client = new SmtpClient();
client.Host = currentWeb.Site.WebApplication.OutboundMailServiceInstance.Server.Address;

如您所见,一个可能的选择是从与当前网站关联的Web应用程序获取它(即,假设您当时具有有效的SPContext,因此能够在第一个网站中访问当前网站)。地点)。在这里,只需构建MailMessage实例并使用client.Send(message);发送即可。