J'ai lu les notes ici http://technet.Microsoft.com/en-us/library/hh831568.aspx concernant les fonctionnalités obsolètes et supprimées dans Windows 2012 et il est dit que SMTP est obsolète. Je suppose que cela fait référence au serveur SMTP IIS. Le conseil est d'utiliser plutôt System.Net.Smtp mais je suppose qu'il s'agit d'une erreur d'impression car je ne trouve aucune référence ailleurs à quoi que ce soit appelé System.Net.Smtp.
S'ils voulaient réellement dire System.Net.Mail, c'est juste une API et je ne vois pas comment une API remplace un processus serveur. J'ai besoin d'un service qui accepte les connexions sur le port 25 et achemine l'e-mail vers la destination comme IIS SMTP le faisait auparavant).
Quelqu'un peut-il clarifier la situation ici s'il vous plaît? S'ils avaient dit qu'il avait été remplacé par Exchange, alors je les maudirais, mais au moins cela me ferait une déclaration significative à faire alors que la déclaration actuelle ne l'est certainement pas.
Je pense que la déclaration référencée de Microsoft est tout simplement terrible et complètement déroutante et je ne pense pas que celui qui l'a écrite ait une idée du fonctionnement du serveur SMTP. Il n'explique pas pourquoi il est obsolète ou si quelque chose ne va pas. Il y a peut-être des problèmes de sécurité ou des dépassements de tampon, mais si vous ne l'exposez pas sur un port public, je n'hésiterais pas à l'utiliser.
Voici ce que je fais:
10.0.0.1
. Je le fais dans le dossier parent vers tous les sites déployés, sinon il sera effacé lorsque vous Si vous le souhaitez, vous pouvez le mettre directement dans web.config mais c'est moins flexible de cette façon.10.0.0.1
. Évidemment, comme je l'ai dit auparavant, cela n'est pas exposé sur Internet public.smtp.gmail.com
Ou smtp.live.com
new SmtpClient()
. Cela récupère la configuration de IIS et envoie le courrier à mon serveur SMTP à 10.0.0.1
Lorsque j'envoie un e-mail, il revient instantanément car il est simplement envoyé à localhost
C'est maintenant l'avantage important d'utiliser un serveur SMTP local qui ne peut pas être sous-estimé et pour lequel 'System.Net.Smtp' n'est pas en soi un substitut :
smtp.gmail.com
Ne répond pas ou que votre réseau est en panne. (Étonnamment commun lorsque j'ai essayé d'envoyer du courrier directement pour la première fois)Allez-y et utilisez-le. Microsoft n'a pas fourni de remplacement, et c'est gratuit, alors pourquoi pas. "Obsolète" ne signifie rien à mon avis s'il n'y a pas de remplacement.
Avertissement: je suis toujours sur Server 2008 mais je suppose que tout cela s'applique toujours.
La fonctionnalité SMTP du rôle de serveur Web est obsolète mais n'a pas été supprimée. Vous pouvez l'installer et l'utiliser, mais il est recommandé d'utiliser un autre serveur SMTP (externe).
SMTP et les outils de gestion associés sont obsolètes. Bien que la fonctionnalité soit toujours disponible dans Windows Server 2012, vous devez commencer à utiliser System.Net.Smtp. Avec cette API, vous ne pourrez pas insérer de message dans un fichier à récupérer; configurez plutôt les applications Web pour qu'elles se connectent sur le port 25 à un autre serveur à l'aide de SMTP.
Ainsi, à l'avenir, vous installerez et utiliserez un serveur SMTP distinct (dont il existe de nombreux disponibles) pour fournir des services SMTP aux applications Web exécutées sur Windows ServerX.
Cette description dans l'article auquel vous avez lié est terrible! Mais voici ce qu'il essaie de vous dire:
L'activation de IIS SMTP dans les versions précédentes de Windows a fait deux choses:
Si vous utilisiez ces bibliothèques sans aucune configuration, elles se soumettraient au serveur local IIS SMTP. Les programmeurs sont intrinsèquement paresseux, donc puisque cela fonctionnait avec le moins d'effort de leur part, c'est ce que Et beaucoup n’ont pas fourni de moyen d’envoyer des e-mails via un autre serveur SMTP.
L'article devrait dire que le serveur SMTP IIS n'existe plus, mais les bibliothèques SMTP sont toujours fournies et l'application doit être configurée pour utiliser un autre serveur SMTP.