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

Composants VCL Delphi Discussion :

Envoi de mails par SMTP : pb accent


Sujet :

Composants VCL Delphi

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 38
    Points : 36
    Points
    36
    Par défaut Envoi de mails par SMTP : pb accent
    Bonjour,

    J'essaie d'envoyer des mails avec des accents dans le message en delphi 7. Cela fonctionne bien. Mais dès que je rajoute une pièce jointe, les accents repassent en 'carrés'.

    Voici un 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    procedure TMailerForm.btnSendMailClick(Sender: TObject);
    begin
      StatusMemo.Clear;
     
      //setup SMTP
      SMTP.Host := ledHost.Text;
      SMTP.Port := 25;
     
      //setup mail message
      MailMessage.From.Address := ledFrom.Text;
      MailMessage.Recipients.EMailAddresses := ledTo.Text + ',' + ledCC.Text;
     
      MailMessage.Subject := ledSubject.Text;
      MailMessage.Body.Text := Body.Text;
     
      if FileExists(ledAttachment.Text) then
      begin
        TIdAttachment.Create(MailMessage.MessageParts, ledAttachment.Text);
      end;
     
      //send mail
      try
        try
          SMTP.Connect(1000);
          SMTP.Send(MailMessage);
        except on E:Exception do
          StatusMemo.Lines.Insert(0, 'ERROR: ' + E.Message);
        end;
      finally
        if SMTP.Connected then SMTP.Disconnect;
      end;
     
    end; (* btnSendMail Click *)
    J'ai mis dans les propriétés de TIdMessage :
    Charset : iso-8859-1
    ContentType : text/plain

    Cordialement,
    Sébastien

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Essai de rajouter après la création de la pièce jointe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // Permet de remplir toutes les parties texte d'un mail quand il y a une pièce jointe
    for i := 0 to MailMessage.MessageParts.count -1 do
    begin
      if MailMessage.MessageParts[i] is TIdText then
      begin
        MailMessage.MessageParts[i].ContentType = 'Text/Plain';
        MailMessage.MessageParts[i].Body.Text := MailMessage.Body.Text;
      end;
    end;
    Modérateur Delphi

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

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 38
    Points : 36
    Points
    36
    Par défaut Voici la source entière que j'avais téléchargée
    J'ai essayé de rajouter ton code mais .body n 'existe pas.
    J'ai mis la source en pièce jointe.

    Peux tu faire le test sur ton PC?

    Merci
    Sébastien
    Fichiers attachés Fichiers attachés

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Petite erreur de ma part

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // Permet de remplir toutes les parties texte d'un mail quand il y a une pièce jointe
    for i := 0 to MailMessage.MessageParts.count -1 do
    begin
      if MailMessage.MessageParts[i] is TIdText then
      begin
        TIdText (MailMessage.MessageParts[i]).ContentType = 'Text/Plain';
        TIdText (MailMessage.MessageParts[i]).Body.Text := MailMessage.Body.Text;
      end;
    end;
    Faut pas oublier de caster en TIdText
    Modérateur Delphi

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

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 38
    Points : 36
    Points
    36
    Par défaut
    J'ai essayé avec ta modification mais cela ne fonctionne pas mieux.

Discussions similaires

  1. envoi de mail par smtp
    Par l_achraf dans le forum Windows Forms
    Réponses: 0
    Dernier message: 20/10/2008, 20h48
  2. Problème d'envoie de mail par SMTP
    Par yass dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 12/09/2008, 16h45
  3. Envoi de mail par SMTP
    Par Ataturk dans le forum VBA Access
    Réponses: 1
    Dernier message: 13/06/2007, 17h31
  4. Access 97 : Envoi de mail par SMTP sans Outlook
    Par mr_foxy dans le forum Access
    Réponses: 2
    Dernier message: 16/03/2006, 14h45
  5. [Mail] Envoi de mail par SMTP ?
    Par Borami dans le forum Langage
    Réponses: 1
    Dernier message: 03/01/2006, 12h26

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