Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

Envoi de mail avec Indy : initialiser "message-id"


Sujet :

Web & réseau Delphi

  1. #1
    Membre habitué
    Envoi de mail avec Indy : initialiser "message-id"
    Bonjour,

    J'utilise Indy10 avec Delphi7 pour créer et envoyer des mails.
    Je ne trouve pas le moyen d'initialiser la propriété "Message-Id".

    qq saurait-il comment faire ?
    merci.

  2. #2
    Membre averti
    vu sur ce site
    trouvé sur ce site , si cela peut t'aider

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    Screen.Cursor:=crHourGlass;
    IdMessage1.Clear;
    IdMessage1.From.Text :=Edit4.Text;
    IdMessage1.ReplyTo.EMailAddresses:=Edit4.Text;
    IdMessage1.Recipients.EMailAddresses:=edit3.text;
    IdMessage1.Date:=Date;
    IdMessage1.Subject:=edit2.text;
    IdMessage1.Priority:=mpNormal;
    IdMessage1.Body.Assign(Memo1.Lines);
    if not (Edit1.Text='')
    then Tidattachment.create(IdMessage1.MessageParts,edit1.text);
    IdSMTP1.AuthType:=atdefault;
    IdSMTP1.Host:='SMTP.free.fr';
    IdSMTP1.Port:=25;
    IdSMTP1.UserName:='xxxxx';
    IdSMTP1.Password:='xxxxx';
    IdSMTP1.Connect;
    try
    IdSMTP1.Send(IdMessage1);
    finally
    IdSMTP1.Disconnect;
    Screen.Cursor:=crDefault;
    Statusbar1.panels[0].text := 'le message à été envoyé';
    end;
    end;

  3. #3
    Modérateur

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    Reponse.Headers.Add( 'Message-ID: <123456789>' );

    fonctionne avec Indy 9 en D5
    Delphi 5 Pro - Delphi 10.3.2 Rio Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  4. #4
    Modérateur

    Avec Indy 10 normalement

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
     
    if not (Edit1.Text='')
    then Tidattachment.create(IdMessage1.MessageParts,edit1.text);


    Ne fonctionnera pas.

    il faut utiliser TidattachmentFile (penser à mettre dans les uses idattachmentFile)
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  5. #5
    Rédacteur/Modérateur

    Bonjour,
    Citation Envoyé par tourlourou Voir le message
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    Reponse.Headers.Add( 'Message-ID: <123456789>' );

    fonctionne avec Indy 9 en D5
    c'est ce que je cherchais mais ta réponse est un peu laconique Reponse = idmessage1 ? Et qu'en est-il du format de l'ID numérique uniquement, obligatoirement entre <> ?
    si tu as des précisions pendant que je fais mes propres tests, je suis preneur
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  6. #6
    Modérateur

    Bonjour Serge,

    Il semble qu'il y ait un format obligatoire : l'identifiant doit être unique et doit respecter la forme d'une adresse mail.
    Mon exemple de l'époque n'était donc pas valable...
    Il s'agit bien d'un TIdMessage pour la variable Reponse.
    Je suppose (pas de souvenir) que c'est Indy qui impose le format pour ajouter une ligne d'entête ; à tester si les <> sont obligatoires.
    Delphi 5 Pro - Delphi 10.3.2 Rio Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  7. #7
    Rédacteur/Modérateur

    Bonjour,

    entre-temps, j'ai pu trouver, il faut savoir qu'en plus la version de Indy joue
    Il ne me reste plus qu'à implémenter le DKIM pour un score mail-tester maximum (actuellement je suis à 9/10) cf ce post

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     // indy 10
      IdMessage1.Subject := sujet.text; // Sujet du message
      IdMessage1.MsgId:= '2018test.pdf@danseazur.com';
      IdMessage1.ExtraHeaders.Values['Message-Id'] := IdMessage1.MsgId;
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd