SPUtility.SendMail не отправляет электронную почту - PullRequest
0 голосов
/ 14 января 2019

Ранее моя функция 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-catch и event 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

...