Message d’erreur lorsque vous essayez à envoyer par programme un message électronique pour le serveur SMTP local, à l’aide de la méthode Send dans Microsoft Dynamics AX 4.0 : « le transport n’a pas pu se connecter au serveur »

S’applique à : Microsoft Dynamics AX 4.0

Symptômes


Lorsque vous essayez à envoyer par programme un message électronique pour le serveur SMTP local, à l’aide de la méthode Send dans Microsoft Dynamics AX 4.0, le message électronique n’est pas envoyé. En outre, le message d’erreur suivant s’affiche :
Méthode « envoyer » de l’objet COM de classe ' CDO. Message' a renvoyé un code d’erreur 0x80040213 (< inconnu >) qui signifie : le transport n’a pas pu se connecter au serveur.

Cause


Ce problème peut se produire si les conditions suivantes sont remplies :
  • Le serveur SMTP local se trouve sur un ordinateur qui exécute Microsoft Windows Server 2003.
  • L’adresse IP (Internet Protocol) du serveur virtuel SMTP est défini à l’adresse IP de l’ordinateur local.

Résolution


Pour résoudre ce problème, modifiez l’adresse IP du serveur virtuel SMTP pour utiliser l’option All Unassigned et puis exécutez le code pour programmer l’envoi du message électronique.

Pour modifier l’adresse IP du serveur virtuel SMTP, procédez comme suit :
  1. Cliquez sur Démarrer, pointez sur Tous les programmes, pointez sur Outils d’administration, puis cliquez sur Gestionnaire des Services Internet (IIS).
  2. Développez le de Microsoft Dynamics AX 4.0 server.
  3. Cliquez droit sur le Serveur virtuel SMTP par défaut, puis cliquez sur Propriétés.
  4. Dans l’onglet Général , cliquez sur (Toutes non attribuées) dans la zone adresse IP .
  5. Cliquez sur OK pour fermer la boîte de dialogue Propriétés du serveur virtuel SMTP par défaut .

Plus d'informations


Microsoft fournit des exemples de programmation à titre d'illustration uniquement, sans garantie expresse ou implicite. Ceci inclut, mais n'est pas limité à, les garanties implicites de qualité marchande ou d'adéquation à un usage particulier. Cet article suppose que vous êtes familiarisé avec le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les ingénieurs du support technique Microsoft peuvent aider à expliquer la fonctionnalité d'une procédure particulière. Toutefois, ils ne modifieront pas ces exemples pour fournir des fonctionnalités supplémentaires ou créer des procédures répondant à vos besoins spécifiques.

Le code suivant est un exemple de comment envoyer par programme un message électronique dans Microsoft Dynamics AX 4.0 à l’aide de la méthode Send.
static void SysMailer(Args _args){
SysMailer mailer;
;

mailer = new SysMailer();
mailer.body("This is the body of the mail");
mailer.subject("The message subject");
mailer.fromAddress("
alias@domain"); mailer.tos().appendAddress("
alias@domain"); mailer.SMTPRelayServer("
domain_name_of_SMTP_Server");
mailer.sendMail();

pause;
}

Si vous utilisez la fonctionnalité d’alerte pour être averti des messages contextuels ou en messages électroniques, vous devrez peut-être vérifier que les paramètres sont corrects dans le Gestionnaire des Services Internet (IIS). Pour ce faire, procédez comme suit :
  1. Dans le Gestionnaire des services IIS, développez le serveur de Microsoft Dynamics AX 4.0.
  2. Cliquez droit sur la valeur par défaut du serveur virtuel SMTP. Ensuite, cliquez sur Propriétés.
  3. Cliquez sur l’onglet accès .
  4. Cliquez sur connexions.
  5. Vérifiez que l’option « Tous sauf la liste ci-dessous » est sélectionnée. Ou, si le « Uniquement la liste ci-dessous » est sélectionnée, vérifiez que la liste n’est pas vide.
  6. Dans la fenêtre de connexion, cliquez sur OK pour accepter la modification.
  7. Cliquez sur relais. Ensuite, répétez les étapes 5 et 6.
  8. Vérifiez que l’option Tous sauf la liste ci-dessous est sélectionnée. Ou, si le « Uniquement la liste ci-dessous » est sélectionnée, vérifiez que la liste n’est pas vide.