Je me demande simplement comment puis-je envoyer des emails en utilisant C? Je l'ai googlé un peu, mais je n'ai rien trouvé de convenable.Comment puis-je envoyer un e-mail en C?
Répondre
Exécutez sendmail
et passez l'e-mail à son entrée standard (sur les systèmes de type Unix) ou utilisez une bibliothèque client SMTP pour vous connecter au serveur de messagerie SMTP.
Les choix les plus évidents:
- Utilisez
system()
pour appeler un outil de ligne de commande existante pour envoyer du courrier. Pas très portable (nécessite un outil externe avec une syntaxe d'appel donnée, etc.) mais très facile à implémenter. - Utilisez une bibliothèque.
- Implémentez SMTP et parlez directement à un serveur de messagerie. Beaucoup de travail.
En effet, je veux apprendre à implémenter SMTP moi-même comme vous l'avez mentionné dans votre troisième option. Connaissez-vous un tutoriel, un article ou un code source? – mehmet6parmak
À l'avenir, essayez de ne pas recommander system() et à la place la famille de fonctions exec(). –
@rogue: Merci. Mais system() est plus portable, exec *() est Unix seulement. – unwind
Sur Unix, vous pouvez utiliser system
et sendmail
comme les systèmes comme suit:
#include <stdio.h>
#include <string.h>
int main() {
char cmd[100]; // to hold the command.
char to[] = "[email protected]"; // email id of the recepient.
char body[] = "SO rocks"; // email body.
char tempFile[100]; // name of tempfile.
strcpy(tempFile,tempnam("/tmp","sendmail")); // generate temp file name.
FILE *fp = fopen(tempFile,"w"); // open it for writing.
fprintf(fp,"%s\n",body); // write body to it.
fclose(fp); // close it.
sprintf(cmd,"sendmail %s < %s",to,tempFile); // prepare command.
system(cmd); // execute it.
return 0;
}
Je sais que laid et il y a plusieurs meilleures façons de le faire ... mais ça fonctionne :)
Vous pouvez également utiliser la commande mail.
A l'intérieur du programme C, vous pouvez envoyer le courrier à l'utilisateur à l'aide de la commande de courrier et de la fonction système.
system("mail -s subject address < filename")
Example
system ("mail -s test [email protected] < filename")
Remarque: Le fichier doit exister. Si vous voulez taper le contenu, vous pouvez taper le contenu dans le fichier, puis envoyer ce fichier au destinataire.
Utilisez libcurl. Il prend en charge SMTP et TLS, au cas où vous auriez besoin de vous authentifier pour l'envoyer. Ils offrent certains example C code.
Une façon plus portable est d'utiliser libquickmail (http://sf.net/p/libquickmail), sous licence GPL. Il permet même d'envoyer des pièces jointes.
code Exemple:
quickmail_initialize();
quickmail mailobj = quickmail_create(FROM, "libquickmail test e-mail");
quickmail_set_body(mailobj, "This is a test e-mail.\nThis mail was sent using libquickmail.");
quickmail_add_attachment_file(mailobj, "attachment.zip", NULL);
const char* errmsg;
if ((errmsg = quickmail_send(mailobj, SMTPSERVER, SMTPPORT, SMTPUSER, SMTPPASS)) != NULL)
fprintf(stderr, "Error sending e-mail: %s\n", errmsg);
quickmail_destroy(mailobj);
- 1. Envoyer un email à email ID
- 2. Comment envoyer un email gmail avec asp.net - C#?
- 3. Comment envoyer un email dans Android?
- 4. envoyer un email à localhost
- 5. Comment envoyer un email avec PHP?
- 6. comment envoyer un email via smartermail?
- 7. Comment envoyer un logcat par email?
- 8. Comment envoyer un email avec django-registration?
- 9. Comment envoyer un email de jsp/servlet?
- 10. Envoyer un email dans wordpress
- 11. comment convertir du texte en rtf, pour envoyer un email?
- 12. Comment envoyer un email depuis android en utilisant java mail
- 13. Comment envoyer un Email en utilisant notre propre API?
- 14. Comment envoyer un email en utilisant javascript ou jquery
- 15. Comment envoyer un email en arrière-plan dans AsP.NET?
- 16. Comment envoyer un email en utilisant Zend_Mail, sendmail et localhost?
- 17. Comment envoyer un email à plusieurs destinataires en utilisant asp.net?
- 18. PHPMailer: envoyer un email .... demander un reçu?
- 19. Comment envoyer un fichier pdf généré en pièce jointe dans un email à partir de C#?
- 20. plusieurs email envoyer
- 21. VB.Net Email Envoyer
- 22. anonymement envoyer un email de javamail
- 23. Comment envoyer un lien avec des valeurs dans un email?
- 24. Envoyer un email par l'intermédiaire de GoDaddy
- 25. Envoyer un e-mail à DISTINCT email
- 26. comment envoyer un email avec un graphisme via php
- 27. Comment envoyer un email quand on clique sur un lien?
- 28. Comment puis-je envoyer un email à un dépôt git?
- 29. envoyer des scripts par email
- 30. code correct pour envoyer un email, asp.net
double possible de [l'envoi d'un e-mail d'un programme C/C++ sous Linux] (http://stackoverflow.com/questions/9317305/sending-an-email-from- acc-program-in-linux) – rogerdpack