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

Lazarus Pascal Discussion :

Utilisation de Synapse pour envoi de mails en SSL


Sujet :

Lazarus Pascal

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Utilisation de Synapse pour envoi de mails en SSL
    Bonjour !

    J'ai besoin d'envoyer des mails depuis un programme Lazarus à travers un SMTP sous Linux.

    Je préférerais si possible utiliser synapse qui me semble performant et que j'utilise déjà pour d'autres types de communications.

    J'arrive bien à envoyer des mails avec synapse (et SendToEx) sur un SMTP ouvert (port 25 sans username, ni mot de passe, ni SSL) mais ça commence à se faire rare...

    J'arrive aussi à envoyer des mails avec mail ou phpmailer, et un SMTP sur un port TLS 687, avec un username et un mot de passe.

    Mais pas moyen d'y arriver avec Synapse !
    J'ai essayé en décommentant les lignes dans SendToRaw :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // if you need support for upgrade session to TSL/SSL, uncomment next lines:
         SMTP.AutoTLS := True;
    // if you need support for TSL/SSL tunnel, uncomment next lines:
         SMTP.FullSSL := True;
    Mais le Login ne réussit pas. Il n'y a pas de message d'erreur, juste un échec.

    Est-ce que quelqu'un a déjà réussi ?
    Est-ce qu'il y a une astuce que je n'aurais pas vue pour y parvenir ?

    Merci pour toute aide !


    PS : sinon j'essaierai avec Indy ou Inet. Je trouve le premier un peu lourd, et je n'ai jamais essayé le second.

  2. #2
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut
    Citation Envoyé par ratdeschamps Voir le message
    Bonjour !

    J'ai besoin d'envoyer des mails depuis un programme Lazarus à travers un SMTP sous Linux.
    Est-ce que ceci peut t'être utile ?

    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
    34
    35
    36
    37
    38
    39
    40
    // This code supports using TLS/SSL encryption; if sending to port 25 it uses plain-text SMTP.
     
     
    uses
      ..., smtpsend,ssl_openssl; //probably other ssl units can be used, too.
     
    // MailData is the text of the mail.
    function SendMail(
      User, Password, 
      MailFrom, MailTo, 
      SMTPHost, SMTPPort: string; 
      MailData: string): Boolean;
    var
      SMTP: TSMTPSend;
      sl:TStringList;
    begin
      Result:=False;
      SMTP:=TSMTPSend.Create;
      sl:=TStringList.Create;
      try
        sl.text:=Maildata;
        SMTP.UserName:=User;
        SMTP.Password:=Password;
        SMTP.TargetHost:=SMTPHost;
        SMTP.TargetPort:=SMTPPort;
        SMTP.AutoTLS:=true;
        if Trim(SMTPPort)<>'25' then
          SMTP.FullSSL:=true; // if sending to port 25, don't use encryption
        if SMTP.Login then
        begin
          result:=SMTP.MailFrom(MailFrom, Length(MailData)) and
             SMTP.MailTo(MailTo) and
             SMTP.MailData(sl);
          SMTP.Logout;
        end;
      finally
        SMTP.Free;
        sl.Free;
      end;
    end;
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour

    Non ça ne m'aide pas beaucoup... Ce code est extrait des sources de Synapse et semble équivalent à celui de SendToRaw que j'ai testé.
    J'ai une erreur systématique au login si je spécifie le port 587, un smtp chez OVH et un user+mot de passe qui fonctionnent bien avec Thunderbird ou phpmailer.
    Enfin, merci quand même !

    Il y a une petite différence c'est "uses sl_openssl".
    Je n'ai aucune unité sl_openssl, mais en l'enlevant il n'y a pas d'erreur de compilation.

    Est-ce que cette unité serait cependant nécessaire et son absence expliquerait mon souci ?
    Si oui, quel paquet faut il installer pour la trouver ?

    A+

  4. #4
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    hello,
    c'est bizarre l'unité ssl_openssl (et non pas sl_openssl (c'est peut être ça le problème)) est dans le zip synapse de la release 40.

    Ami calmant, J.P (pas té)
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

Discussions similaires

  1. bibliotheque pour envoi de mail en C
    Par laurrrette dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 16/03/2007, 00h06
  2. [Mail] configuration pour envoi de mail
    Par julien.63 dans le forum Langage
    Réponses: 3
    Dernier message: 28/11/2006, 08h57
  3. [Configuration] CONFIG pour envoie de mail d'un serveur local
    Par i_shinji dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 14/03/2006, 13h39
  4. [MySQL] Parcourir la liste des emails extraits de la base pour envois de mail
    Par Ylias dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/02/2006, 22h34
  5. pb pour envoi de mail
    Par taurus dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 28/11/2005, 09h51

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