SPUtility.SendMail不发送电子邮件

时间:2019-01-14 07:04:13

标签: c# sendmail

以前,我的SPUtility.SendMail函数可以正常工作。

但是最近没有电子邮件发送出去。

根据几篇文章,我尝试设置HttpContext.Current to null before invoking SendMail and change HttpContext.Current back,并使用elevated rights。但是他们没有用。

try
{
    using (var elevatedSite = new SPSite(TestConfig.GetString(TestConfig.Config.SiteUrl).TrimEnd('/')))
    {
        using (var elevatedWeb = elevatedSite.OpenWeb())
        {
            var to = new StringBuilder();
            foreach (var grp in grpNames)
            {
                var group = elevatedWeb.SiteGroups[grp];
                var groupValue = new SPFieldUserValue(elevatedWeb, group.ID, group.Name);
                var inbox = new Inbox
                {
                    Title = String.Format("Report generated@{0}", fileURL),,
                };

                foreach (SPUser user in group.Users.Cast<SPUser>().Where(usr => !usr.Email.IsNullOrEmpty()))
                {
                    to.AppendFormat("{0},", user.Email);
                }
            }

            bool isSent = SPUtility.SendEmail(elevatedWeb, true, false, "test@mail.com", ...);
        }
    }
}
catch (Exception ex)
{
    ex.PreserveStackTrace();
    throw;
}

try-catchevent viewer没有返回错误。

还检查了发送状态isSent,并返回了true


参考文献:

https://social.technet.microsoft.com/Forums/office/en-US/16a62597-6076-4598-9799-dd6ea874156f/cannot-send-mail-using-sputilitysendmail?forum=sharepointadminlegacy

https://sharepoint.stackexchange.com/questions/93979/why-is-httpcontext-current-set-to-null

http://emailfromsharepoint.blogspot.com/2012/04/send-email-from-sharepoint.html

0 个答案:

没有答案