Не удалось отправить электронное письмо с использованием кода outlook office365 c# - PullRequest
0 голосов
/ 19 марта 2020

Ниже приведен код для отправки электронной почты с помощью Outlook Office365.

ExchangeService myService = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
myService.Credentials = new WebCredentials(sender_mailId,sender_password);

try
{
  string serviceUrl = <<service url>> // This URL 
  myService.Url = new Uri(serviceUrl);
  EmailMessage emailMessage = new EmailMessage(myservice);
  emailMessage.Subject = "Subject test ";
  emailMessage.Body = new MessageBody("Testing Exchange Web Service API");
  emailMessage.ToRecipients.Add(to_email_id);
  emailMessage.Send();
}
catch (SmtpException exception)
{
  string msg = "Mail cannot be sent (SmtpException):";
  msg += exception.Message;
  throw new Exception(msg);
}

Какой URL-адрес веб-службы следует использовать?

1 Ответ

0 голосов
/ 02 апреля 2020

Приведенный ниже код работает для отправки или сохранения черновика электронной почты.

static void CheckEmail()
{
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);
service.Credentials = new WebCredentials(senderEmailId, password);
 service.AutodiscoverUrl(senderEmailId, RedirectionUrlValidationCallback);

 EmailMessage emailMessage = new EmailMessage(service);
 emailMessage.Subject = "Test office 365 project draft ";
 emailMessage.Body = new MessageBody("Testing Exchange Web Service API");

 emailMessage.ToRecipients.Add(emailTo);

//send email
emailMessage.Send();

//save to draft
emailMessage.Save(WellKnownFolderName.Drafts);
}

   private static bool RedirectionUrlValidationCallback(string redirectionUrl)
    {
        // The default for the validation callback is to reject the URL.
        bool result = false;

        Uri redirectionUri = new Uri(redirectionUrl);

        // Validate the contents of the redirection URL. In this simple validation
        // callback, the redirection URL is considered valid if it is using HTTPS
        // to encrypt the authentication credentials. 
        if (redirectionUri.Scheme == "https")
        {
            result = true;
        }
        return result;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...