0

以下のように C# のコードを書いて、mnetwork を使って別の国でメールを送信することはできますか?

MSExchangeWebServiceURL = mail.something.com/ews/exchange.asmx

これは Web サービスの URL です。これは、ホーム ネットワーク、友人のホーム ネットワークから同じコードを実行するとうまく機能しますが、コロンビアにあるクライアントの場所から実行すると失敗します。

その Exchange Server で有効なユーザー名とパスワードを持っています。これを実現するために設定できる構成はありますか?

ところで、以下のこのコードは、オフィス ネットワーク内および任意のホーム ネットワーク内の任意のネットワーク内で実行すると機能します。テキサス州プラノにある 5 人の友人ネットワークで少なくとも試してみました。このコードを別の国のネットワークから実行して動作させたい.

コロンビアの私のクライアントは、ブラウザーを使用して同じユーザー名とパスワードを使用して Web サービスに接続できますが、上記のコードを実行すると、Web サービスに接続できません。

4

3 に答える 3

1

編集: コメントと更新された投稿に基づいて、クライアントの場所にトラフィックをブロックしているプロキシ サーバーまたはファイアウォールがあることに賭けます。クライアントはおそらく、関連するドメインを自分が持っている「ホワイトリスト」に追加する必要があります。

内部ネットワークから動作する場合、問題はおそらくコードではありません。デバッグして、ネットワーク外で実行したときにどのようなエラーが発生するかを確認する必要があります。次に、ファイアウォールとターゲット Exchange サーバーのログをチェックして、何が起こっているかを確認します。

考えられる原因の 1 つは、DNS 名がオフィス ネットワークの外部で設定されていないか、オフィスのファイアウォールがインターネットから問題のサーバーにトラフィックを渡すように (または SMTP トラフィックのみを渡すように) 設定されていないことです。もう 1 つの問題は、Exchange Web サービスが外部からの要求を受け入れるように適切にセットアップされていないことです。これはhttp://www.testexchangeconnectivity.com/からテストできます。

これだけでは不十分な場合は、表示されているエラーに関する詳細情報を投稿してください。「それは機能していません、私はそれを機能させたいです」というのは、ジョーディに「やり遂げる」ように言い続けた種についてのスタートレックTNGエピソードを思い出させます.

于 2010-05-01T04:35:35.840 に答える
0

コードが機能するかどうかを尋ねる場合 (あなたのようには見えませんが、投稿に記載されています)、stackoverflow で質問する必要があります。なぜ自宅から機能しないのか疑問に思っている場合は、エッジ サーバーが中継するように設定されていない可能性があります。また、自宅にいてネットワークに VPN 接続されていない場合は、そこにしかアクセスできません。

于 2010-05-01T03:41:08.103 に答える
0

これを少し分解する必要があります。

MSExchangeWebServiceURL とは何ですか? あなたの本当の URL を知る必要はありませんが、これはあなたのホーム ネットワークから解決できますか? つまり、内部 DNS ホスト (server.mycompany.local) ですか、それとも外部で解決可能な DNS ホスト (mail.yourcompany.com) ですか?

別の投稿者が言ったように、内部の場合は、少なくとも VPN を接続する (またはそれを外部 URL に置き換える) 必要があります。

私は C# に詳しいわけではありませんが、Exchange Server のホスト名または FQDN を探しているのではないかと推測しています。また、タイプが「SMTP」であるため、メール サーバーとの TCP セッションを確立しようとしています。コマンド プロンプトを開いてtelnet <MSExchangeWebServiceURL> 25. それがうまくいくと、あなたのコードもうまくいくと思います。

于 2010-05-01T13:31:58.600 に答える