Не удается отправить электронное письмо в пользовательской рабочей точке общего ресурса 2010 - PullRequest
1 голос
/ 06 октября 2011

У меня возникли некоторые проблемы при использовании метода SPUtility.SendEmail в настраиваемом рабочем процессе.

private void onWorkflowActivated1_Invoked(object sender, ExternalDataEventArgs e)
    {
        if (SPUtility.IsEmailServerSet(workflowProperties.Site.OpenWeb()))
        {
            StringDictionary headers = new StringDictionary();
            headers.Add("to", "myemailaddress@mailinator.com");
            headers.Add("from", "somebody@example.com");
            headers.Add("content-type", "text/html");

            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                bool test = SPUtility.SendEmail(web, headers, "some message body");
            });
        }
    }

в приведенном выше коде метод SPUtility.SendEmail всегда возвращает false.

У меня естьдаже пытался использовать RunWithElevatedPrivileges, но метод все равно возвращает false.

Конфигурация smtp не является проблемой, потому что стандартное уведомление по электронной почте, когда задача назначается на sharepoint, отправляется в порядке.

Странно то, что я попробовал этот метод SendEmail, используя задание таймера, и метод работает отлично.

, пожалуйста, кто-нибудь поможет мне, если есть что-то, что мне нужно добавить к моему методу выше.

спасибо.

Ответы [ 2 ]

0 голосов
/ 20 октября 2011

Я не смог найти корень этой проблемы. Я решил создать 2 рабочих процесса: во-первых, отправить сообщение электронной почты, используя параметр инициализации (сборка с использованием конструктора sharepoint). второй - рабочий процесс, который инициирует первый рабочий процесс.

сейчас запущено и работает.

0 голосов
/ 11 октября 2011

Попробуйте получить веб-ссылку в области повышенных привилегий.

...