Нераспознанный атрибут 'enableSsl' в.NET v4.0

Некоторое время мы запускаем новую тестируемую систему и создаем электронные письма в папку, чтобы они случайно не отправлялись клиентам. Теперь мы включили электронную почту, у нас возникают проблемы с отправкой.

Я использую ActionMailer.NET и код для создания и отправки электронной почты ниже. Я не буду включать вид:

EmailResult x = new EmailController().EmailWorkOrderForApprovalToClient(model);
            System.Net.Mail.Attachment file = new System.Net.Mail.Attachment(FilePath);
            x.Mail.Attachments.Add(file);
            x.Deliver();

Который дает ошибку

SMTP-сервер требует безопасного соединения или клиент не прошел проверку подлинности. Ответ сервера: 5.7.57 SMTP; Клиент не прошел проверку подлинности для отправки анонимной почты во время ПОЧТЫ ОТ

Файл web.config выглядит следующим образом:

  <system.net>
<mailSettings>
  <smtp deliveryMethod="Network" from="ClientServices@topupconsultants.com">
    <specifiedPickupDirectory pickupDirectoryLocation="" />
    <network defaultCredentials="false" host="smtp.office365.com" password="secret" port="587" userName="ClientServices@myco.com" />
  </smtp>
</mailSettings>

Я предполагаю, что enableSsl="true" нужно добавить в сетевую линию, но когда я делаю это и пытаюсь перейти в раздел электронной почты SMTP сайта в IIS, я получаю сообщение об ошибке:

Нераспознанный атрибут "enableSsl"

В IIS я не очень хорош, но я проверил, что пул приложений и его версия.NET CLR - 4.0.30319. Я также проверил, что.NET v4.5 установлен на сервере.

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

2 ответа

Решение

Отвечая на мой собственный вопрос здесь, и в основном ответ: "Не верьте сообщению об ошибке". Во всех конфигурациях, которые я пробовал, я верил сообщению об ошибке, когда оно сообщало мне, что это недопустимо. Тем не менее, я все равно попробовал, и он использует атрибут enableSsl при отправке, и это позволяет установить соединение с Office 365.

Слегка раздражающая ошибка IIS, о которой я забуду через неделю, но сейчас она очень раздражает.

Это проблема в IIS. Не нужно беспокоиться об этом сообщении об ошибке. SmtpClient объект enableSsl отображает значение, эта глупая проблема напрасно тратится впустую:D

Другие вопросы по тегам