IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Envoyer un mailling avec Indy


Sujet :

Web & réseau Delphi

  1. #1
    Membre habitué Avatar de bidochon
    Inscrit en
    Juin 2002
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 168
    Points : 156
    Points
    156
    Par défaut Envoyer un mailling avec Indy
    Bonjour,

    Je souhaite envoyer un mailling par e-mail grace aux composant Indy.
    J'ai une liste contenant un certain nombre d'adresses email et je voudrais pouvoir faire parvenir un mail a tous les destinataires (la liste est dans un Combobox).
    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    with IdMessage1 do
     begin
      IdMessage1.Body.Assign(Memo1.Lines);
      IdMessage1.From.Text := 'Moi';
      IdMessage1.From.Address := 'monAdresse@monfournisseur.fr';
      IdMessage1.Subject := EditObjet.Text;
      IdSMTP1.AuthenticationType := atLogin;
      IdMessage1.Recipients.FillTStrings(ComboboxAdr.Items);
     end;
    C'est la derniere ligne qui me pose probleme et je n'ai pas reussit a trouver un exemple...

    Merci de votre aide

    @ plus

    Bidochon
    Tant de mains pour transformer ce monde, et si peu de regards pour le contempler !
    (Julien Gracq)

  2. #2
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Salut!

    -> 13 résultats avec "IdSMTP"!!!

    http://delphipage.free.fr/indyexemple2.html

    à+

    _________________
    • Merci de lire les règles du forum!
    • Chercher une réponse dans la FAQ Delphi
    • Merci de chercher un peu avant de poster dans le forum...
    • Ne poster qu'en dernier recours!
    • Merci d'utiliser les balises CODE dans vos posts!
    • N'oubliez pas d'ajouter le tag [résolu]!
    De retour parmis vous après 10 ans!!

  3. #3
    Membre habitué Avatar de bidochon
    Inscrit en
    Juin 2002
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 168
    Points : 156
    Points
    156
    Par défaut
    Salut Sub 0,

    Citation Envoyé par Sub0
    Salut!
    -> 13 résultats avec "IdSMTP"!!!
    http://delphipage.free.fr/indyexemple2.html
    J'espere que tu ne doutes pas que je n'ai pas chercher avant de coller ce post !!! Je te rassure J'ai visionné les 12 (et non 13 resultats) sans pour autant trouver la reponse a la question que j'ai posé !
    Je pense que tu n'as pas suffisamment pris le temps de lire ma question ou bien j'ai du mal m'exprimer
    Je reprend donc :
    Je souhaiterais envoyer un mail a une liste de destinataires sans pour autant renouveller l'operation d'envoi du mail autant de fois qu'il y a de destinataires dans la liste.(Un petit peu comme dans dans Outlook où on separes les destinataires par des ';')
    Y-a-t-il moyen de faire passer une liste (TString) contenant les destinataires a l'objet IdMessage1.Recipients ?
    @ plus
    Bidochon
    Tant de mains pour transformer ce monde, et si peu de regards pour le contempler !
    (Julien Gracq)

  4. #4
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    ahhh! ok! (non, c moi qui n'ai pas percuté)
    J'imagine qu'il suffit de remplacer l'adresse du destibataire par plusieurs séparées par un point virgule...
    Faudrait déjà essayer ça pour voir!
    Il existe le champs Cc (copie carbone) qui serait normalement prévu pour ça...
    Dans ces 2 cas, les destinataires pourra voir la liste d'adresse.

    Sinon, je crois qu'il ya le champs Bcc qui permet justement de masquer la liste aux différents destinatires.

    Trouvé avec Google en 30s avec "idsmtp + bcc"!
    http://users.skynet.be/bk296578/Dro/Delphi/MailOut.pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Mess := TIdMessage.Create(nil);
    ...
    Mess.BCCList.EMailAddresses := BCC;
    J'espère que ça t'aidera! à+
    De retour parmis vous après 10 ans!!

  5. #5
    Membre habitué Avatar de bidochon
    Inscrit en
    Juin 2002
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 168
    Points : 156
    Points
    156
    Par défaut
    Merci SUB ZERO


    Effectivement, les destinataires doivent etre passer à l'objet IdMessage1.Recipients par la propriété EMailAddresses et doivent etre séparés par des ';'

    Voila le bout de code :
    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
    FOR i:=0 TO ComboboxAdr.Items.Count-1 DO
      Destinataires:=Destinataires+comboboxAdr.Items.Strings[i]+';';
    WITH IdMessage1 DO
     BEGIN
      Body.Assign(Memo1.Lines);
      From.Name := 'Moi';
      From.Address := 'monAdresse@monfournisseur.fr';
      Recipients.Emailaddresses := Destinataires;
      Subject := EditObjet.Text;
      IdSMTP1.AuthenticationType := atLogin;
      MessageParts.Clear;      // traitement des pieces jointes
      IF OpenDialog1.FileName<>'' THEN
       BEGIN
        For i:=0 to OpenDialog1.Files.Count-1 do TIdAttachment.Create(IdMessage1.MessageParts,OpenDialog1.Files.Strings[i]);
       END;
      END;
       IdSMTP1.Host := 'mon.smtp.fr';
       IdSMTP1.Port := 25;
    etc ...
    Tant de mains pour transformer ce monde, et si peu de regards pour le contempler !
    (Julien Gracq)

  6. #6
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Je suis content d'avoir pu t'aider à résoudre ton problème!
    J'apprecie ton remerciement.

    à+
    _________________
    IMPORTANT:
    • N'oubliez pas d'ajouter le tag [résolu]!
    De retour parmis vous après 10 ans!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoyer le contenu d'un TPicture avec Indy 9 !
    Par cincap dans le forum Débuter
    Réponses: 5
    Dernier message: 17/11/2011, 17h47
  2. [Indy] Envoyer un mail avec Delphi
    Par Hmalik dans le forum Composants VCL
    Réponses: 1
    Dernier message: 13/03/2011, 17h18
  3. Comment envoyer une commande UNIX par Delphi avec Indy ?
    Par Vulcanos dans le forum Web & réseau
    Réponses: 2
    Dernier message: 25/09/2007, 22h16
  4. Envoyer un mail avec Indy
    Par defluc dans le forum Delphi
    Réponses: 29
    Dernier message: 12/01/2007, 19h42
  5. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo