2016-12-27 20 views
0

Я генерирую электронное письмо через мое приложение MVC, но я получаю разные результаты между моей средой разработки и тестовой/производственной средой. Я попытался реализовать с использованием AutodiscoverUrl() и SmtpClient(). Мы используем локальный сервер IIS для моего компьютера для разработки и на сервере для тестирования/производства.Создание электронной почты с использованием AutodiscoverURL или SmtpClient

С SmtpClient.

  • в развитии

    • отправки на электронную почту с адресом в нашей области работает должным образом, получить уведомление о доставке

    • отправки на электронную почту, как @ gmail.com и @outlook. com отправлено правильно, но @gmail отправляется прямо в папку со спамом, а @outlokk отправляется в поле, иногда получает уведомление или доставку завершено

  • в тесте/разворачивание
    • отправки сообщений электронной почты с адреса в нашей области работают как задумано, никакого уведомления о доставке
    • отправки на электронную почту, как @ gmail.com и @ outlook.com посланный от это правильно, но он идет прямо в папку для спама, никакого уведомления или доставки полного

с AutodiscoverUrl()

  • в развитии
    • отправки сообщения электронной почту с адресами в пределах нашего домена, посланных из перечислена как мой адрес электронной почты от имени, как электронная почта, я хочу, чтобы это было от, отправленное письмо муравья прочтение в моем почтовом ящике
    • отправка электронной почты на адрес @ gmail.com отправлено правильно, отправленное электронное письмо находится в моей папке отправки и нет подтверждения получения
    • , отправив на @ outlook.com, это правильно, отправленное письмо находится в моем отправку электронной почты, а квитанция для чтения отправляется в мой почтовый ящик с «To» пробелом в квитанции (кому отправлено оригинальное письмо)
  • в тесте/разворачивание
    • на адрес электронной почты с тем же доменом посланными из правильно, однако нет прочтения и не вещи в любом отправленноге папки
    • на @ gmail.com посланной из правильно однако он отображается в папке с спамом и навсегда появляется, чтобы не отображаться, не получать квитанцию ​​и нет элемента в папке отправления
    • в @outlook.ком посланный из правильно, однако он будет доставлен в папку нежелательной почты, не прочтении и без элемента в посланном скоросшивателе

Код я использовал -

using (SmtpClient sender = new SmtpClient("mail.state.gov")) 
     { 
      using (MailMessage mailmessage = new MailMessage()) 
      { 
       mailmessage.To.Add(address.Email); 
       mailmessage.From = (new MailAddress("[email protected]")); 
       mailmessage.Subject = subjectline; 
       mailmessage.Body = Body(personID); 
       mailmessage.Priority = MailPriority.Normal; 
       mailmessage.IsBodyHtml = true; 
       mailmessage.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure | 
    DeliveryNotificationOptions.OnSuccess; 
       mailmessage.Bcc.Add("[email protected]"); 

       sender.Send(mailmessage); 
      } 
     } 

А потом Я попробовал

 string from = "[email protected]"; 
     ExchangeService service = new ExchangeService(); 
     service.AutodiscoverUrl(from); 

     EmailMessage message = new EmailMessage(service); 
     message.Subject = subjectline; 
     message.Body = Body(personID); 
     message.ToRecipients.Add(address.Email); 
     message.From = from; 
     message.IsReadReceiptRequested = true; 
     message.Save(); 

     message.SendAndSaveCopy(); 
+0

У вас есть записи DNS SPF/DKIM, настроенные в домене, используемом в адресе «от»? Если нет, спам-папки не удивляют. –

+0

Где бы вы могли выполнить эти конфигурации? –

+0

В файле зоны DNS домена адреса отправителя –

ответ

1

Подход Exchange зависит от пользователя, который в настоящее время вошел в систему. На вашей рабочей станции это всегда будет вы. На «реальном» сервере IIS это будет любая учетная запись службы, на которую настроен сайт для выполнения. У вас нет полного контроля над тем, что появляется в адресе «От», когда оно получено, поэтому и появляется «от имени».

Я предполагаю, что если вы отправляете на Exchange от Exchange, в том же домене, то сообщения не покидают вашу интрасеть, поэтому они не будут считаться спамом. Но для материала, проходящего через SMTP, он проходит через фильтры спама в Gmail или Outlook. Вы не можете настроить фильтры спама в этих системах. По-видимому, любая электронная почта, которую вы отправляете, отключает фильтры. Измените адрес электронной почты. Вы можете посмотреть статьи вроде this, чтобы вы могли улучшить контент, но признаете, что в конечном итоге у вас нет контроля.