Question

Je reçois des rejets de mes clients intéressants serveur de messagerie lors de l'envoi d'un mail avec le composant tidMessage de indy-10 en disant:

550 Refusé: Le message ne contient pas un ID de message

Je reçois ce même lors de l'utilisation propre application de démonstration de indy

http://www.indyproject.org/DemoDownloads/Indy_10_MailClient.zip

ce que dois-je faire pour résoudre ce problème. merci!

Était-ce utile?

La solution

TIdMessage dans Indy 10 omet volontairement la tête « Message-Id » lors du codage d'un e-mail à une prise de courant ou TStream. Vous devrez utiliser la propriété TIdMessage.ExtraHeaders, par exemple:

IdMessage1.MsgId := ...';
IdMessage.ExtraHeaders.Values['Message-Id'] := IdMessage1.MsgId;

EDIT:

En tant que suivi de cette - TIdMessage a été mis à jour avec les changements logiques dans la façon dont il gère les en-têtes "Message-ID" et "In-Reply-To":

http://indyproject.org/sockets/blogs/changelog/20160912.aspx

La propriété TIdMessage.MsgId génère maintenant un en-tête « Message-ID » indépendamment du fait que le courriel est en cours d'enregistrement, transmis en continu ou transmis. Donc, vous ne devez plus utiliser la propriété ExtraHeaders.

Autres conseils

Il fonctionne avec Indy9, peut-être les choses ont pas changé trop 10:

    procedure AddMsgID(AMsg: TIdMessage);
    var
      id: AnsiString;
    begin
      id := GenerateUniqueMsgID;
      AMsg.MsgId := id;
      AMsg.AddHeader('Message-ID=' + id);
      // AMsg.ExtraHeaders.Values['Message-ID'] := id;
    end; // AddMsgID
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top