質問
Windows XP開発マシンでは正常に動作するASP.NETアプリがありますが、IIS7を搭載したWindows 2008に展開すると動作しません。アプリはSmtpDeliveryMethod.PickupDirectoryFromIisを使用し、IIS7でアプリから電子メールを送信しようとするとエラーが発生します(メッセージ「IISピックアップディレクトリを取得できません」のSmtpException)。開発マシンとサーバーの両方で同じ設定を使用しています。
ご協力いただければ幸いです...
解決
許可の問題であることが判明しましたが、ピックアップディレクトリではなく、実際にはメタベース(SMTP設定はIIS7のメタベースに保存されています)
このフォーラムスレッド IISピックアップディレクトリを取得できません。ヘルプが必要、IIS.netフォーラムWebサイトで、投稿に記載されている内容に従い、メタベースエクスプローラーツールをダウンロードしてインストールし(取得するにはIIS6リソースキットをダウンロードする必要があります)、カスタムユーザーに読み取り権限を付与しました(投稿の1つに示されているように、LS、SMTPSvcおよびSMTPSvc / 1キーで、それは機能しました。 smptSvcキーにのみ許可を与えた場合、何らかの理由で機能しません。
他のヒント
信頼レベルに問題がある可能性があると思います。
中程度の信頼で、アプリケーションのディレクトリ(またはその下の任意のディレクトリ)にしか書き込みできません。また、指定したPickUpフォルダーがアプリケーションのディレクトリにない場合( AND )、アプリケーションが中信頼(完全信頼ではない)で実行されている場合、PickUpフォルダーに書き込むことはできません。
ピックアップディレクトリを使用せずに、SMTPサーバーに直接送信できます。
最初にピックアップディレクトリを指定する必要があります。方法については、ガイドをご覧ください。
また、XPボックスのIIS 5.1とWindows Server 2008(IIS 7)のIIS 5.1を比較することはお勧めできません。明らかなバージョンの違いに加えて、多くの機能が大きく変更されているためです。特にsmtpサーバー。たとえば、Vistaにはそのような機能はありません。