Librairie CURL C++ pour envoyer des mails

Fermé
Morgatte Messages postés 1219 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 24 janvier 2023 - 2 juin 2015 à 13:56
Morgatte Messages postés 1219 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 24 janvier 2023 - 15 juin 2015 à 12:54
Bonjour,

Quelqu'un pourrait-il m'aider, je tente d'envoyer des mails grace à la librairie cURL, mais je n'arrive pas à passer l'étape d'authentification.



1 réponse

Morgatte Messages postés 1219 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 24 janvier 2023 281
Modifié par Morgatte le 2/06/2015 à 22:55
Je viens de trouver un premier succès pour envoyer un mail.

Voici comment faire :
Il faut déjà disposer de curl.exe et ses dll sur son ordi.
Ensuite en tapant ceci dans cmd.exe j'arrive à envoyer un mail en mode authentifié (ssl)

curl smtps://smtp.laposte.net:465 -v --mail-from "monMail@laposte.net" --mail-rcpt "destinataire@hotmail.com" --ssl -u monMail@laposte.net:MonCodeMail -T "text.txt" -k --anyauth

Avec comme contenu du fichier texte ceci :


-----------------
From: "Le nom que je veux" <monMail@laposte.net>
To: "destinataire" <destinataire@hotmail.com>
Subject: Ceci est le sujet

Salut,
Je viens d'envoyer un email a partir de la librairie cURL en ligne de commande

Bye!
-----------------





Derniere étape, il faudrait réussir à réécrire l'équivalent de cette ligne en langage C++ avec les différentes fonction de cURL.

Genre :

curl_easy_setopt(curl, CURLOPT_USE_SSL, CURLUSESSL_ALL);
curl_easy_setopt(curl, CURLOPT_USERNAME, "monMail@laposte.net");
curl_easy_setopt(curl, CURLOPT_PASSWORD, "motDePassMail");
curl_easy_setopt(curl, CURLOPT_URL, "smtps://smtp.laposte.net");
curl_easy_setopt(curl, CURLOPT_PORT, 465);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
curl_easy_setopt(curl, CURLOPT_MAIL_FROM, FROM);
recipients = curl_slist_append(recipients, TO);
recipients = curl_slist_append(recipients, CC);
curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients);
curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source);
curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx);
curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
/* Send the message */
res = curl_easy_perform(curl);


Et là c'est pas encore gagné !





(Desperate Housewives)
On ne joue tellement pas dans la même division que je me demande si on pratique le même sport.
0
Morgatte Messages postés 1219 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 24 janvier 2023 281
Modifié par Morgatte le 15/06/2015 à 12:59
Petite erreur dans ma ligne de code... Je pose donc le bon code...

curl smtps://smtp.laposte.net:465 -v --mail-from "Expediteur@laposte.net" --mail-rcpt "destinataire@hotmail.com" --ssl -u Expediteur:motdepasse -T "text.txt" -k --anyauth



-----------------
From: "Le nom que je veux" <Expediteur@laposte.net>
To: "destinataire" <destinataire@hotmail.com>
Subject: Ceci est le sujet

Salut,
Je viens d'envoyer un email a partir de la librairie cURL en ligne de commande

Bye!
-----------------
0