2016-01-05 2 views
0

Я разрабатываю приложение, в котором я хочу отправить электронную почту из приложения WPF. Я использовал одну из моих учетных записей o365 для тестирования, это было успешно, но при попытке другого (корпоративная учетная запись) у меня возникла ошибка. Что может быть неправильным?SMTP электронная почта для офиса 365 с использованием C#

+0

Включите дополнительную информацию об ошибке, в противном случае никто не сможет помочь. – titogeo

+0

Привет, Дара, вы уверены, что у вашей учетной записи пользователя есть лицензия на обмен Microsoft? Можете ли вы отправить/получить почту с этим пользователем, используя mail.office365.com? –

+0

Если вы не предоставите обратной связи людям, которые помогают вам в Stackoverflow, вы не получите дополнительной помощи, а не от меня, по крайней мере. –

ответ

0
string mailbody = "Hello, "+ WhoToBox.Text + "\n" + VisitorNameBox.Text +" is waiting for you at the reception.\nMobile Number: "+VisitorPhoneBox.Text; 
     string whoto = ""; 
     List<CompanyStaff> peopleList = CompanyStaff.GetStaffList(); 
     foreach (var item in peopleList) 
     { 
      if (item.FirstName == WhoToBox.Text) 
      { 
       whoto = item.Alias; 
      } 
     } 
     string to = whoto; 
     string from = "<emailaddy>"; 
     MailMessage message = new MailMessage(from, to); 
     message.Subject = "You have a new Visitor"; 
     message.Body = mailbody; 
     message.BodyEncoding = Encoding.UTF8; 
     message.IsBodyHtml = false; 
     SmtpClient client = new SmtpClient("smtp-mail.outlook.com", 587); 
     //use a Microsoft Account here... 
     NetworkCredential basicCredential = new NetworkCredential("<emailaddy>", "<password>"); 
     client.EnableSsl = true; 
     client.UseDefaultCredentials = true; 
     client.Credentials = basicCredential; 
     try 
     { 
     client.Send(message); 
     MessageBox.Show("Notification of your presence has been sent to " + WhoToBox.Text); 
     } 
     catch 
     { 
      MessageBox.Show("Sorry, we are unable to send notification of your presence. Please try again."); 
     } 
+0

Этот код работает, когда я использую учетную запись Microsoft, я также изменил адрес SMTP для образования o365, он работает, но для o365 предприятия он прекратил работать. –

+0

Проводка вашего исходного кода - это хорошо, но вы должны стараться, чтобы он не зависел от вашего собственного контекста приложения. Например, «mailbody» может быть простым «миром привет» без использования 'VisitorNameBox.Text', то же самое для поля' To'. Другое дело, что вы должны, но наиболее подходящий материал для нас, чтобы помочь вам: ошибка, поднятая вашим приложением! Об этом свидетельствует сообщение об ошибке клиенту, но вы также должны регистрировать исключения (http://stackoverflow.com/questions/14973642/how-using-try-catch-for-exception-handling-is- наилучшая практика). –