2009-10-23 4 views
1

J'ai une application ASP.NET qui fonctionne correctement sur ma machine de développement Windows XP mais ne fonctionne pas lorsqu'elle est déployée sur Windows 2008 avec IIS7. L'application utilise SmtpDeliveryMethod.PickupDirectoryFromIis et donne une erreur lorsque j'essaie d'envoyer un e-mail à partir de l'application sur IIS7 (une SmtpException avec le message "Impossible d'obtenir le répertoire de collecte iis"). J'utilise les mêmes paramètres sur la machine dev et le serveur.Problème avec SMTP dans IIS7

Toute aide serait vraiment apprécié ...

Répondre

4

Il est avéré être un problème de permissions, mais pas avec le répertoire de collecte, en fait avec le métabase (paramètres SMTP sont toujours enregistrés dans le métabase dans IIS7)

Je suis tombé sur ce fil de discussion, Cannot get IIS pickup directory. NEED HELP, sur IIS Le site internet des forums suivait alors ce qui était mentionné dans les articles, téléchargeait et installait l'outil d'exploration de métabase (vous devez télécharger le kit de ressources IIS6 pour l'obtenir) puis donnait des permissions de lecture à mon utilisateur (comme indiqué dans l'un des articles) sur les clés LS, SMTPSvc et SMTPSvc/1 et cela a fonctionné. Pour une raison inconnue, si vous accordez uniquement des permissions à la clé smptSvc, cela ne fonctionne pas.

-2

Vous pouvez envoyer directement au serveur SMTP sans l'aide d'un répertoire de collecte.

+0

Merci pour votre réponse, mais j'ai mes raisons d'utiliser le répertoire de ramassage. –

-1

Je pense que le problème pourrait être avec des niveaux de confiance. Parce que dans la confiance moyenne, vous pouvez uniquement écrire dans le répertoire de votre application (ou n'importe quel répertoire ci-dessous). Et si le dossier PickUp que vous avez spécifié n'est pas dans le répertoire de votre application ET l'application s'exécute sous la confiance moyenne (pas confiance totale), alors vous ne pouvez pas écrire dans le dossier PickUp.

+0

Merci pour votre réponse, mais en fait c'est un serveur dédié. Le compte ASP.NET a des autorisations pour écrire dans le répertoire de collecte. –

+0

Je vois. BTW, avez-vous vérifié qu'un répertoire de collecte est spécifié dans le Gestionnaire des services Internet sous Paramètres de messagerie SMTP? –

+0

Merci de noter que, en fait, je ne l'ai pas spécifié. J'ai spécifié le répertoire de collecte dans le gestionnaire IIS mais malheureusement toujours obtenir la même erreur. –

-2

Vous devez d'abord spécifier le répertoire de collecte. Voici un guide sur la façon de le faire.

Aussi, ce n'est pas une bonne idée de comparer votre IIS 5.1 sur un XP box avec celui de votre Windows Server 2008 (IIS 7), car en plus de la différence de version évidente, beaucoup de fonctionnalités ont beaucoup changé. Spécialement le serveur smtp, par exemple, il n'y a pas une telle fonctionnalité dans Vista.

+0

Merci beaucoup pour votre réponse. Je sais que ce n'est pas une bonne idée de comparer une ancienne version à une nouvelle version mais en fait je ne compare pas IIS 5.1 à IIS 7, je compare seulement le SMTP qui, je crois, n'a pas vraiment changé exemple vous devez toujours accéder aux paramètres SMTP dans Windows 2008 à partir du Gestionnaire IIS 6) –

+0

En fait, spécifier un répertoire de collecte n'est pas obligatoire, cela a fonctionné sans que cela ne se fasse –