しばらくの間、テストで新しいシステムを実行しており、誤ってクライアントに送信されないようにフォルダーにメールを作成しています。現在、ライブ メールを有効にしていますが、送信で問題が発生しています。
私は 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; クライアントは、MAIL FROM 中に匿名メールを送信するために認証されませんでした
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" をネットワーク回線に追加する必要があると思いますが、それを実行して IIS のサイトの SMTP 電子メール セクションに移動しようとすると、次のエラーが表示されます。
認識できない属性「enableSsl」
私は IIS にそれほど熱心ではありませんが、アプリケーション プールとその .NET CLR のバージョンが 4.0.30319 であることを確認しました。サーバーに .NET v4.5 がインストールされていることも確認しました。
これは私を困惑させ、その時点で SSL を指定できるようにコードを完全に変更する必要がないことを願っています。