Нераспознанный атрибут '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