BASP21 Sendmailは送信できるけど、SendmailExだけ送信できない

※IIS7 、IIS8 等のレガシーASPでBASP21を動作させるための設定は、Google先生に聞いてみてください。親切な同士がたくさんいますよ。

症状

Windows Server 2012 (IIS8.5) でレガシーASP実行時のエラーです。
BASP21を使用して、Sendmailは送信できるけど、SendmailExだけ送信できない。

ログ

送信エラー Cant connect Server 11001 …

Google先生によると、どうやらWinSockのエラーコードらしいです。
WinSock Error 11001:そのようなホストは不明です。

推測・・・SMTPサーバーの名前解決ができていないのではないか?

SMTP指定をIPアドレスに変更してみる → 送信完了 (ビンゴ!)

原因

SendmailExはASPとは別プロセスです。別プロセスの起動アカウントに名前解決のための権限がなかったようです。

解決策

IISマネージャーを開きます。

アプリケーションプール → 対象のアプリケーションプールを選択
→ 詳細設定 → プロセスモデル → ID

ApplicationPoolIdentity になっていると思います。
NetworkService や LocalSystem に変更するか、
この ApplicationPoolIdentity で動作できるように権限を付与していきます。