Comment implémenter un envoi de mail par un programme C ? existe-t-il une bibliothèque prévue à cet effet ?
Merci.
Comment implémenter un envoi de mail par un programme C ? existe-t-il une bibliothèque prévue à cet effet ?
Merci.
Je me suis débrouillé avec le shell unix appelé avec la fonction system du langage C et ai fait une petite fonction d'envoi de mails :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 int n_Sendmailerror( char * message, char * from, char * to) { char * command = (char *) malloc(256 * sizeof(char)); sprintf(command, "echo \"%s\" | mail -s %s %s", message, from, to); system(command); return 0; }
FUITE DE MÉMOIRE!
En plus, ça manque de const, tu ne vérifies pas que la taille demandée est suffisante (tu peux utiliser ceci), et le cast de malloc() est inutile en C.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
de plus, vraisemblablement il manque un "&" à la fin (qua ça se passe en background), mais surtout il n'est pas tenu compte des tailles de from et to ni de la logneur du message...
Crash inévitable![]()
Mais veut-on vraiment que ça se passe en background?
Personnellement, je resterais synchrone.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Partager