在触发事件接收者之后,我想从共享点内向本地域的用户发送电子邮件。
我将如何处理?
任何帮助将不胜感激。
非常感谢,
Freddie
答案 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);
发送即可。