Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

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


Information sur la source

Catégorie :Réseau & Internet Classé sous : mail, smtp, mime, encodage Niveau : Expert Date de création : 30/04/2007 Date de mise à jour : 02/05/2007 08:33:52 Vu / téléchargé: 4 364 / 577

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Il y a déjà quelques mois de cela Cirec m'avait demandé si je connaissais un composant autre qu'Indy et ICS pour envoyer des mails.

Puis en privé, Cirec un jour m'a demandé si je connaissais la technique pour envoyer un mail avec identification. On a passé pas mal de temps ensemble pour trouver la solution qui est loin d'être simple.

Pour répondre définitivement à ces deux questions de Cirec, je vous propose deux composants

SMTPClient : Composant basé sur la dll Winsock pour envoyer le mail

SMTPMess : Composant pour créer le message en lui même

Profondemment différent des composants équivalents Indy et ICS, SMTPMess risque un peu de vous dérouter. Cependant ce composant permets de composer beaucoup plus intimement son mail.

En espérant que Mauricio trouve son bonheur avec le format UTF

Bon coding
 

Conclusion

Je remercie Florenth pour son aide précieuse sur la partie encodage ainsi que les différents tests (Ca pas été une partie de plaisir hein ? ;)).
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

30 avril 2007 22:09:21 :
J'avais pas de marteau donc voila quelque modif avec en plus le bon zip (je m'étais trompé : ouf personne n'a rien vu mdrrr)
02 mai 2007 08:33:52 :
Modifications proposées par Florenth et Delphicool effectuées : merci à eux

Commentaires et avis

signaler à un administrateur
Commentaire de Francky23012301 le 30/04/2007 19:00:54

Arfff Merci à f0xi aussi : Désolé de t'avoir oublié

signaler à un administrateur
Commentaire de Caribensila le 30/04/2007 21:50:22

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!

signaler à un administrateur
Commentaire de Francky23012301 le 30/04/2007 22:11:38

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.

signaler à un administrateur
Commentaire de Francky23012301 le 30/04/2007 22:12:23

Grrr pas comme destinataire comme expéditeur : le niouf

signaler à un administrateur
Commentaire de cantador le 01/05/2007 14:16:19

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.

signaler à un administrateur
Commentaire de Francky23012301 le 01/05/2007 17:16:23

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.

signaler à un administrateur
Commentaire de Francky23012301 le 01/05/2007 17:20:47

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 ;).

signaler à un administrateur
Commentaire de DelphiCool le 01/05/2007 18:19:39 administrateur CS

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é.

signaler à un administrateur
Commentaire de Sylfelin le 02/05/2007 07:47:00

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.

signaler à un administrateur
Commentaire de cantador le 03/05/2007 15:53:06

merci Francky23012301 pour les explications et bcp de points sont intéressants.
reste le baptême du feu..
@+

signaler à un administrateur
Commentaire de sivaller le 31/10/2007 22:09:18

Faut enlever le champ date:
//add('Date: ' + DateToStr(FDate) + CRLF);
et ça n'affiche plus 0:00 mais l'heure

signaler à un administrateur
Commentaire de alll le 01/02/2008 18:18:32

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

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

envoyer mail avec delphi [ par Maniaxman ] Salut, J'aimerais créer un programme qui envoie un mail avec delphi, mais qui n'utilise pas de serveur smtp, de façon a ne pas avoir de : s Configurer un serveur mail [ par fersouce ] voila un bout de code qui permit de faire l'envoi d'un mail sous delphi: //Connexion au serveur smtp IdSMTP1.AuthenticationType:=atLogin; //Type d'aut WebBrowser et Kylix [ par louiwahl ] Bjr voila je me servais du TWebBrowser pour afficher une page Web sous delphi mais sur Kylix il n'y est pas (je ne m'en servais que pour afficher et Envois des email [ par kasotchi ] bjr a tous,ben j'ai un probleme avec mon programme ,voici le message d'erreur qui s'affiche pendant l'envois:   " 5.7.1<adresse destinataire>:re envoi email avec MAPISendMail [ par yvessimon ] Bonjour,Avec  "  MAPISendMail  "   je crée un mail.Dans ce mail je souhaite remplire les lignes correspondant à :Cc    et   BccOu puis-je trouver cett client mail qui marche SVP ! [ par nag_yan ] Bonjour a tous !      voila c'est ma premier question dans se forum et je veux savoir y a til un programme qui permé d'envoyer un mail anonyme sacahn Mail Composants indy [ par Hardouz ] bonjour j'ai ecri un code qui envoi un mail ac les composants indy mais il me tjr erreur time out voici mon code :procedure TForm1.Button1Click(Sender Envoi Mail avec Indy : Content-description [ par bib34690 ] Bonjour,J'utilise Indy pour envoyer des mails.Je ne trouve pas la propriété "Content-description", alors que je dois absolument la remplir.qq peut m'a aides idpop [ par yomane51100 ] bonjour a tous je voudrais fair'e un petit client mail juste pour resevoir les mail avec idpop je mes suis inspiret de c ete aide quil y a sur votre s Indy - mails [ par nidhal77 ] je n'arrive pas à utiliser les composants Indy pour l'envoi ni la reception des mails. j'utilise le composant TidsmTP pour l'envoi et le composant Tid


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,39 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.