0

問題:

ASP.NET MVC 4 アプリから電子メールを送信するためにリモート メールサーバーに接続しようとしています。クライアントから提供された詳細を使用して web.config をセットアップしても、次のエラーが発生します。

No connection could be made because the target machine actively refused it 127.0.0.1:25

設定:

電子メールを送信する必要がある ASP.NET MVC 4 Web サイトがあります。メールサーバーは、Web サーバーと同じボックスにはインストールされません。

Web サーバーに smtp クライアントまたはサーバーがインストールされていません。これは必要ですか?

クライアントは、独自の Web サーバーをホストする経験がほとんどありません。ホスティング会社の指示に従って、常にメール サーバーに接続しています。この会社には専門知識を持った人がいないようです。私は外部コンサルタントで、ネットワークやメールサーバーの経験はありません。

Web.Config:

<system.net>
    <mailSettings>
      <smtp deliveryMethod="Network" from="systems@medreport.co.uk">
        <network host="MYHOST1" userName="MyUser" password="PASSWORD" clientDomain="myhost1.mydomain.co.uk" />
      </smtp>
    </mailSettings>
</system.net>

私の推論:

エラーから、ASP.NET MVC アプリはローカルホスト マシン、つまり Web サーバーと同じマシンでメールサーバーを探しているようです。そこにないので、エラーが発生します。

それが正しければ、web.config のタグの属性に何か問題があるはずです。これらの属性は有効なサーバーを指していないため、システムがデフォルトで localhost のメールサーバーに設定されていると推測しています。この推論は正しいですか?

質問:

  1. タグhostの属性またはclientDomain属性に正しい名前が付けられていない可能性があります。<network>その結果、mvc アプリは localhost でメールサーバーを見つけようとします。この推論は正しいですか?

  2. タイプ clientDomain="myhost1.mydomain.co.uk" の clientDomain 名が与えられました。ただし、インターネット経由ではなく、クライアントのイントラネット経由で接続しようとしています。イントラネット経由で接続していることを反映する clientDomain 属性を持つべきではありませんか?

  3. ウェブサイトはSSLを使用しています。enableSsl 属性を使用してみましたが、役に立ちませんでした。ただし、enableSsl 属性は、Web サーバーではなく、メールサーバーとの通信に関連していると思います。これは正しいです?メールサーバーは内部ネットワーク上にあるため、メールサーバーに SSL を使用していないことは理解しています。

  4. 別の理論は、ファイアウォールの問題があり、メールサーバーのボックスから私を跳ね返しているというものです。しかし、その場合、より具体的なエラーが発生することは間違いありません...?

編集:

別のボックスのメールサーバーに接続できるようにするには、SMTPclient を Web サーバーにインストールする必要がありますか?

4

1 に答える 1