powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Рассылка емайлов через EWS
9 сообщений из 9, страница 1 из 1
Рассылка емайлов через EWS
    #39567960
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый,
Господа, помогите пожалуйста. Может кто сталкивался с подобной проблемой.
Перестал работать следующий кусок кода рассылающий письма.
Пару дней назад начали плавный переход с Outlook Web Access на Офис 365 + Ping Id.
Предположительно проблема связанна с этим переходом.
Есть одна странность. Со слов пользователя проблема появилась и исчезла.
У меня юнит тесты перестали проходить. Гуглил и перепробывал тучу + 1 вариант.

PS. Доп. Вероятно есть другие способы рассылки не через EWS но и не через библиотеку interop.outlook?

Код: c#
1.
2.
3.
4.
Ошибка : threw exception:
Microsoft.Exchange.WebServices.Data.AutodiscoverLocalException: 
Autodiscover blocked a potentially insecure redirection to https://autodiscover-s.outlook.com/autodiscover/autodiscover.xml. 
To allow Autodiscover to follow the redirection, use the AutodiscoverUrl(string, AutodiscoverRedirectionUrlValidationCallback) overload.


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
            var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
            service.UseDefaultCredentials = true;
            service.AutodiscoverUrl(emailSender);
            var email = new EmailMessage(service);
            email.ToRecipients.AddRange(emailToRecipients);
            email.CcRecipients.AddRange(emailCcRecipients);
            email.Subject = subject;
            email.Body = new MessageBody(body);
            email.Send();
...
Рейтинг: 0 / 0
Рассылка емайлов через EWS
    #39570232
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите кто чем может :)
...
Рейтинг: 0 / 0
Рассылка емайлов через EWS
    #39570269
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артем G,

отправляйте прямо через сервис, зачем использовать для этого интерропы какие то?
...
Рейтинг: 0 / 0
Рассылка емайлов через EWS
    #39570278
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes, ну так в лоб AutodiscoverUrl(string, AutodiscoverRedirectionUrlValidationCallback) чтоб AutodiscoverRedirectionUrlValidationCallback true всегда возвращал? :)
...
Рейтинг: 0 / 0
Рассылка емайлов через EWS
    #39573187
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
buserRoman Mejtes, ну так в лоб AutodiscoverUrl(string, AutodiscoverRedirectionUrlValidationCallback) чтоб AutodiscoverRedirectionUrlValidationCallback true всегда возвращал? :)

пробывал писать вот так. результат - AutodiscoverUrl could not be located.
Код: c#
1.
service.AutodiscoverUrl(emailSender, delegate(string url) { return true; });
...
Рейтинг: 0 / 0
Рассылка емайлов через EWS
    #39573192
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman MejtesАртем G,
отправляйте прямо через сервис, зачем использовать для этого интерропы какие то?
А что значит через сервис? Заранее спасибо за ответ.
Я использовал для рассылки вот этот package https://www.nuget.org/packages/Microsoft.Exchange.WebServices/2.2.0
...
Рейтинг: 0 / 0
Рассылка емайлов через EWS
    #39617943
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый,
проблема так и осталась открытой. решил к ней вернуться и попробывать решить.
причина проблемы это 2х факторная аутентификация (через ping id). и тут возникает вопрос.
как я понимаю мне нужно подключить ping id api, получать текущий код с него, и куда то подставлять полученный результат в ews.
фигово то что примеров в интернете ноль. вероятно кто нибудь сталкивался с подобным.
если есть у кого-то какие-нибудь мысли пожалуйста поделитесь.

Артем GДень добрый,
Господа, помогите пожалуйста. Может кто сталкивался с подобной проблемой.
Перестал работать следующий кусок кода рассылающий письма.
Пару дней назад начали плавный переход с Outlook Web Access на Офис 365 + Ping Id.
Предположительно проблема связанна с этим переходом.
Есть одна странность. Со слов пользователя проблема появилась и исчезла.
У меня юнит тесты перестали проходить. Гуглил и перепробывал тучу + 1 вариант.

PS. Доп. Вероятно есть другие способы рассылки не через EWS но и не через библиотеку interop.outlook?

Код: c#
1.
2.
3.
4.
Ошибка : threw exception:
Microsoft.Exchange.WebServices.Data.AutodiscoverLocalException: 
Autodiscover blocked a potentially insecure redirection to https://autodiscover-s.outlook.com/autodiscover/autodiscover.xml. 
To allow Autodiscover to follow the redirection, use the AutodiscoverUrl(string, AutodiscoverRedirectionUrlValidationCallback) overload.


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
            var service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
            service.UseDefaultCredentials = true;
            service.AutodiscoverUrl(emailSender);
            var email = new EmailMessage(service);
            email.ToRecipients.AddRange(emailToRecipients);
            email.CcRecipients.AddRange(emailCcRecipients);
            email.Subject = subject;
            email.Body = new MessageBody(body);
            email.Send();
...
Рейтинг: 0 / 0
Рассылка емайлов через EWS
    #39617975
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот нашел сдк. надеюсь мне поможет :)
https://www.pingidentity.com/content/dam/ping-6-2-assets/Software/sdks/PingIDSDK.zip
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Рассылка емайлов через EWS
    #39901777
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Увидел свой старый пост и вспомнил что нашел решение.
Суть в том что нужно проделать несколько шагов
1. Зарегать приложение в Azure и выдать права на рассылку емайлов.
2. С помощью Ids которые будут выданы при регистрации приложения + имя и пароль пользователя будет формироваться токен.
3. Используя MS GRAPH можно высылать письма.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
        private static async Task<string> GetTokenAsync()
        {
            var clientId = ConfigurationManager.AppSettings["ida:ClientId"];
            var clientSecret = ConfigurationManager.AppSettings["ida:ClientSecret"];
            var aadInstance = ConfigurationManager.AppSettings["ida:AADInstance"];

            var tenantId = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/tenantid").Value;
            var userObjectId = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value;
            var signedInUserId = ClaimsPrincipal.Current.FindFirst(ClaimTypes.NameIdentifier).Value;

            var authoity = aadInstance + tenantId;
            var tokenCache = new ADALTokenCache(signedInUserId);
            const string resource = "https://graph.microsoft.com";
            var userIdentifier = new UserIdentifier(userObjectId, UserIdentifierType.UniqueId);

            var clientCredential = new ClientCredential(clientId, clientSecret);
            var authenticationContext = new AuthenticationContext(authoity, tokenCache);

            var authenticationResult = await authenticationContext.AcquireTokenSilentAsync(resource, clientCredential, userIdentifier);
            var token = authenticationResult.AccessToken;
            return token;
        }
  <appSettings>
    <add key="ida:ClientId" value="КлиентИдИзАжуры" />
    <add key="ida:TenantId" value="ТенатИдИзАжуры" />
    <add key="ida:ClientSecret" value="КлиентСекретИзАжуры" />
    <add key="ida:Domain" value="ВашаКомпания.onmicrosoft.com" />
    <add key="ida:AADInstance" value="https://login.microsoftonline.com/" />
    <add key="ida:PostLogoutRedirectUri" value="https://localhost:44365/" />
  </appSettings>
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Рассылка емайлов через EWS
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]