4

しばらくの間、テストで新しいシステムを実行しており、誤ってクライアントに送信されないようにフォルダーにメールを作成しています。現在、ライブ メールを有効にしていますが、送信で問題が発生しています。

私は 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 を指定できるようにコードを完全に変更する必要がないことを願っています。

4

2 に答える 2