SMTPCLIENT ET SMTPMESS : COMPOSANTS POUR ENVOYER DES MAILS AU FORMAT MIME

Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 - 30 avril 2007 à 19:00
nostalgies Messages postés 1 Date d'inscription mercredi 19 octobre 2011 Statut Membre Dernière intervention 24 juin 2013 - 24 juin 2013 à 15:19
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42517-smtpclient-et-smtpmess-composants-pour-envoyer-des-mails-au-format-mime

nostalgies Messages postés 1 Date d'inscription mercredi 19 octobre 2011 Statut Membre Dernière intervention 24 juin 2013
24 juin 2013 à 15:19
sa marche pas time out...?
cs_alll Messages postés 11 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 7 février 2008
1 févr. 2008 à 18:18
moi je trouve ce code suuuuuuuuuuuuper au poil sa s'adapte bien et surtout sa bug pas a tous va elle est tres fonctionnel sur le test que j'ai realiser avec ce code integre a mon source pour faire un essais bravoooooooooooooooo
moi j'essai de trouver une soluce pour envoyer une form avec des edit et des label en 2d
transformer une form complete avec ses composants en page ou en image je cherche avec form print pour emailler dans outlook pour que mon corespondant puisse imprimer mafiche.prn que je lui envoie dans outlook
connaisser vous une soluce
ps) je suis novice en delphi merci de votre compreention
cs_sivaller Messages postés 9 Date d'inscription dimanche 24 août 2003 Statut Membre Dernière intervention 28 juillet 2010
31 oct. 2007 à 22:09
Faut enlever le champ date:
//add('Date: ' + DateToStr(FDate) + CRLF);
et ça n'affiche plus 0:00 mais l'heure
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
3 mai 2007 à 15:53
merci Francky23012301 pour les explications et bcp de points sont intéressants.
reste le baptême du feu..
@+
Sylfelin Messages postés 1 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 2 mai 2007
2 mai 2007 à 07:47
Bonjour,

Il y avait aussi, en plus de Indy et ICS, Synapse sur http://synapse.ararat.cz qui fonctionne très bien et qui n'est aussi qu'une grosse librairie mail et ftp avec un forum utilisateur sur http://sourceforge.net/mailarchive/forum.php?forum_name=synalist-public.
DelphiCool Messages postés 455 Date d'inscription mardi 24 juillet 2001 Statut Membre Dernière intervention 10 mars 2009
1 mai 2007 à 18:19
Salut,

Choette ton compo,

Par contre dans ton code, ajoute dans le bouton envoyer :
SMTPMess.Attachments.Clear;
SMTPMess.Bodies.Clear;


sinon si tu envois deux fois de suite un mail, le message n'est pas vidé.

ce qui fait que tu as deux mail mais le deuxieme a un contenu doublé.
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
1 mai 2007 à 17:20
Ah oui juste : avantage aussi ca permet d'apprendre un peu les RFC du protocole SMTP : alors qu'avec Indy va y comprendre quelque chose vu le labyrinthe ;).
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
1 mai 2007 à 17:16
Salut Candator

L'avantage avec les composants Indy résident en plusieurs points.

1)Tu n'as pas besoin de coder quoi que se soit pour écrire ton message : tout peut se faire dedans.
2)La BccList et CCList te permettent de mettre ton mail en copie carbonne cachée ou pas via des TStringList.
3)Dans la partie expéditeur tu peux rentrer toi meme tout les destinataires sans à te soucier de quoi que se soit sauf de respecter la RFC.
4)Tu peux choisir toi meme le type d'encodage : Base 64, QutedPrintable, 8 bits, 7 bits, binary. Indy t'impose tout.
5)tu peux parametrer les contents type poour les fichiers et les textes.
6) Il est ultra facile d'envoyer un message en texte brut ainsi qu'un autre en meme temps en html
7)Il est plus rapide qu'Indy et plus efficace (combien de fois avec Indy j'ai eu des mails qui ne sont jamais arrivé).
8)Tu peux utiliser tes propres fonctions d'encodage
9)Ils sont plus léger qu'indy et de loin pas de uses ) rallonge qui ne servent à rien.
10)Pas de problemes de version pour delphi : d6,d7,d2005d,2006
11)Il est peu commenté mais suffissament bien fait pour laisser une souplesse pour l'utilisateur que tu n'auras pas avec Indy.

Autrement il est mieux qu'indy : lol.


Pour répondre à un autre posteur

En mode atNone (sans identification)
1)Utiliser le smtp de son fai ainsi que le port associé
2)Expéditeur : son adresse mail via cet fai
3)Destinataire : celui qu'on veut
4)Nom de l'expéditeur : celui qu'on veut

En mode atLogin (avec identification)
1)Utiliser le smtp de son fai ainsi que le port associé
2)Expéditeur : son adresse mail via cet fai
3)Destinataire : celui qu'on veut
4)Nom de l'expéditeur : celui qu'on veut
5)Login et mot de passe : en général il s'agit de son adresse internet via son fai ainsi que son mot de passe pour se connecter à internet via son FAI.

Je ne répondrai plus à ce type de question en mp : le principe est le meme de ce point de vue la que pour Indy.

L'exmple donné n'est pas tres "souple" : il a juste un but didactique.
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
1 mai 2007 à 14:16
salut Francky23012301,

"Cependant ce composant permets de composer beaucoup plus intimement son mail."

merci d'apporter plus d'indications..histoire d'allécher ceux qui voudraient installer les deux compos et de dire finalement en quoi ils présentent un intérêt par rapport à ceux existants.
Ahh ben c'est quand même largement meilleur sans les var globales. En plus tu utilises les streams, c'est plus moderne lol.

Juste deux suggestions:
- Tu peux utiliser un paramètre "const" pour toutes tes procédures de strings, ça augmente les performances. Par contre, il n'est pas nécessaire de mettre "const" pour les Integer, Byte ... enfin pour tout ce qui fait moins de 32 bits.

- Tu peux aussi utiliser un TStringStream si ça te simplifie ton code par moment (attention à ne pas en abuser, des fois, ça complique plus qu'autre chose ...)

++
Flo
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
30 avril 2007 à 22:12
Grrr pas comme destinataire comme expéditeur : le niouf
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
30 avril 2007 à 22:11
Vous etes bien trop modeste Monsieur Cari : je suis une crepe suzette comparéà vous.

Alors pour ceux qui sont obligés d'utiliser le mode identification : vous devez obligatoirement mettre votre email réel comme destinataire (c'est pas de ma faute).

Pour le coté intimiste : lol. C'est tellement mieux mdr.
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
30 avril 2007 à 21:50
P'tain!!!
Je mesure le chemin qu'il me reste à parcourir et je me sens tout petit.

Petit, petit, petit...


J'avais rien à dire (ni à redire, soit dit), mais je tenais à te dire bravo Francky!
Ah oui, ça a pas été une partie de plaisir ^^
En tout cas je suis bien content que tu aies réussi à finaliser une version fonctionnelle.

Par contre, passe moi un marteau que je te cogne la tête: c'est quoi ces variables globales T et NumRows ???? Je t'ai dit 100 fois de les changer en var locales et en paramètres "const" des fonctions !! Pense au multi-threading pardi, ou alors déclares les dans une section "threadvar".

En tout cas, je suis ravi de voir un composant permettant d'envoyer des mails intimes ... lol

++
Flo
Francky23012301 Messages postés 400 Date d'inscription samedi 6 août 2005 Statut Membre Dernière intervention 11 février 2016 1
30 avril 2007 à 19:00
Arfff Merci à f0xi aussi : Désolé de t'avoir oublié
Rejoignez-nous