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 :

Envoyer des e-mails [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 31
    Par défaut Envoyer des e-mails
    Bonjour,

    J'aimerais pouvoir envoyer automatiquement des informations via e-mail à partir d'une application Lazarus. L'application travaille avec une base de données contenant les adresses mail et doit envoyer des informations concernant des emplois du temps.
    J'ai un peu fouillé ça et là avec Google, mais la récolte est plutôt maigre.

    Il y a bien lnet, mais je ne vois pas comment ça fonctionne.

    Y aurait-il une solution relativement facile à mettre en oeuvre ?

    D'avance, merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    J'ai essayé Indy10 et Synapse. Il n'y a pas de solution miracle.

    Indy10 fonctionne bien et à mon avis, hormis l'installation des composants, c'est le plus simple à utiliser. Cependant, en Lazarus (FPC), son développement est en retard voire abandonné et je ne sais pas s'il est portable sous Mac. On trouve de la documentation puisqu'il est intégré à Delphi. Au niveau de la documentation, attention à ne pas faire la confusion avec Indy 9 : les codes sont presque semblables mais souvent cette proximité est la cause de problèmes difficiles à cerner. En tout cas sous Nux et Windows, Indy 10 fonctionne plutôt correctement. Un bémol pour le composant ftp (client) par exemple qui bloque régulièrement et inexplicablement de manière aléatoire... Mais, je ne me rappelle pas avoir rencontré de problèmes avec smtp (client).

    Ararat Synapse ne fonctionne qu'en 32 bits. C'est un ensemble de librairies. Le ftp lui fonctionne très bien. Par contre, j'ai rencontré un problème d'encodage avec smtp. C'est vraiment dommage car le code source est clair et propre... mais le problème est en suspens. J'avais mailé son auteur à ce sujet et à ce jour, le mail est resté sans réponse.

    J'ai abandonné rapidement lNet.

    Quelques "vieux" liens sur ce forum

    Cordialement. Gilles
    Dernière modification par Invité ; 07/07/2011 à 17h01.

  3. #3
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 235
    Par défaut
    Je n'est jamais essayé mais il existe ça : http://curl.haxx.se/libcurl/

    C'est une bibliothèque en C mais :


  4. #4
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 31
    Par défaut
    Merci de vos réponses. J'ai suivi les liens indiqués et testé tout ça... Voilà où j'en suis :

    1- Impossible d'installer Indy 10, même en suivant les conseils de Selzig.
    2- J'ai envoyé un message à l'auteur de lNet, mais pas de réponse.
    3- Curl ne semble pas gérer le SMTP, si j'en crois la description faite sur leur site.

    Je me suis donc tourné vers une autre solution trouvée quelque part sur ce forum, mais impossible de retrouver la page : Blat

    C'est un exécutable assez sympa qui fonctionne en ligne de commande. On peut indiquer tout ce qu'on veut pour le SMTP avec le passage de paramètres après la commande. Dans Lazarus, j'ai simplement ajouté un TProcess et il suffit de modifier la propriété Command Line pour avoir ce qu'on veut. En plus, on peut avoir un fichier log.

    Mais... (eh oui, il y a un mais !) Chaque appel au TProcess m'ouvre une fenêtre DOS qui, heureusement, se referme toute seule. Malgré tout, j'aimerais bien faire en sorte qu'elle n'apparaisse pas du tout ou au moins qu'elle reste en icône, dans la barre des tâches.

    Donc, avant de mettre "résolu" dans le titre du fil, j'aimerais bien trouver une astuce qui me cache cette vilaine fenêtre...

  5. #5
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 235
    Par défaut
    Citation Envoyé par bubu42 Voir le message
    3- Curl ne semble pas gérer le SMTP, si j'en crois la description faite sur leur site.
    Pourtant dans la liste des protocoles supportés on trouve SMTP et SMTPS et dans les exemples (en C) il y en a 3 qui concernent le smtp.

    Des lunettes s'imposent...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Indy 10 est un peu "chatouilleux" à l'installation, de plus en plus même. Le décalage avec les versions successives de Lazarus se fait sentir. Mais, cela vaut le coup d'insister un peu.... à moins évidemment que seul le résultat compte : 'être capable dans les plus brefs délais d'envoyer un mail'. Ce qui me semble une approche tout aussi acceptable : la solution retenue dépend également des contingences de programmation.

    Si vous choisissez de ré-examiner l'installation de Indy 10, j'ai placé sur un serveur ftp, le paquet que j'utilise à chaque release. Je l'installe sans problème aussi bien sur mes releases Win que Nux. Je viens de vérifier qu'il était toujours d'actualité.

    Sinon pour votre Tprocess, comme je ne connais pas le programme spécifié, cela se joue éventuellement dans les "Options" retenues (poNoConsole ou pas) mais plus probablement dans le "ShowWindow" du composant.

    Pour Curl, il existe des fonctions C en effet pour le smtp, mais l'interface Pascal n'a peut-être pas été développé pour ces fonctions... Il faudrait regarder de plus près... (ou avec des lunettes en effet). Bref, si tel est le cas, du programme Lazarus, il faudrait appeler directement les fonctions de la bibliothèque C. Cela ne correspond pas nécessairement à votre recherche de "solution relativement facile à mettre en oeuvre".

    Bonne fin de WE

    Cordialement. Gilles
    Dernière modification par Invité ; 10/07/2011 à 19h00. Motif: Orthographe

  7. #7
    Membre émérite Avatar de DOLPat®
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 426
    Par défaut
    Citation Envoyé par bubu42 Voir le message
    Donc, avant de mettre "résolu" dans le titre du fil, j'aimerais bien trouver une astuce qui me cache cette vilaine fenêtre...
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Process1.ShowWindow:=swoHIDE; // cache la fenêtre du TProcess

  8. #8
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 31
    Par défaut
    D'abord, merci à tous de vous être penchés sur le problème...

    Effectivement, une des pages de Curl mentionne bien le SMTP (mais pas celle du 2° lien vers l'interface de plus haut niveau) Cela dit, je n'ai pas réussi à l'installer. En ouvrant le paquet proposé, le curlpas 0.1 ne compile pas. Il doit y avoir une astuce pour Windows.

    Pour Selzig :
    Je tourne avec un Windows XP familial et Lazarus 9.28.2 + FPC 2.2.4. Je vais essayer de reprendre la méthode proposée dans le .pdf pour Indy 10.2.0.3

    Merci aussi pour le truc du TProcess. Ca masque bien la fenêtre DOS. Malgré tout, il doit me rester un petit problème à régler. L'appel à Blat se fait dans une boucle pour envoyer plusieurs messages à la suite à plusieurs personnes et j'ai bien l'impression que la file d'attente ne se fait pas : il manque des messages à l'appel.

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

Discussions similaires

  1. [MySQL] Envoyer des e-mails par paquets de 80
    Par lababa dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/10/2007, 13h41
  2. [Mail] Comment envoyer des e-mails avec PHP
    Par lauryk dans le forum Langage
    Réponses: 2
    Dernier message: 03/09/2007, 17h16
  3. [Mail] souci pour envoyer des e-mails en php
    Par nemines1 dans le forum Langage
    Réponses: 4
    Dernier message: 19/05/2007, 13h07
  4. [Mail] Envoyer des e-mail à une liste de diffusion
    Par Alexandrebox dans le forum Langage
    Réponses: 16
    Dernier message: 31/01/2007, 16h00
  5. [VB.NET] Envoyer des e-mails !
    Par Ludog35 dans le forum Windows Forms
    Réponses: 11
    Dernier message: 26/10/2005, 16h50

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