rezaasad Ответов: 1

Отправка электронной почты на C# с помощью office 365 с помощью Exchange API


Всем Привет,

У меня есть проблема с отправкой электронной почты из моего приложения MVC. Вот код

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
              service.UseDefaultCredentials = false;
              service.Credentials = new WebCredentials("EmailSender", "Password");
              string serviceUrl = "https://outlook.office365.com/ews/exchange.asmx";
              service.Url = new Uri(serviceUrl);
              EmailMessage emailMsg = new EmailMessage(service);
              emailMsg.From = currentUser.Email; //This email is different from Credential email
              emailMsg.Subject = mailSubject;
              emailMsg.Body = mailBody;

              emailMsg.SendAndSaveCopy();



Дело в том, что учетная запись учетных данных отличается от электронной почты текущего пользователя. Пользователи не входят в домен, поэтому у меня нет доступа к их учетным данным. Поэтому я хочу использовать учетную запись для отправки электронной почты вместо пользователей.Когда мы использовали Exchange server, можно было отправлять электронную почту даже без учетных данных, но в office 365 я получаю эту ошибку:

The user account which was used to submit this request does not have the right to send mail on behalf of the specified sending account., Cannot submit message.


Что я уже пробовал:

The Credential user has 'Send As' access. maybe need on behalf access or something like that!?
Any idea?

1 Ответов

Рейтинг:
1

F-ES Sitecore

Настройте Exchange так, чтобы "EmailSender" имел права отправлять сообщения от имени других людей. Вам нужно будет погуглить, как вы это делаете, Exchange config выходит за рамки этого сайта.