Biblioteca CURL C++ para enviar correos electrónicos

Morgatte Mensajes publicados 1300 Estado Miembro -  
Morgatte Mensajes publicados 1300 Estado Miembro -
Hola,

¿Alguien podría ayudarme? Intento enviar correos usando la librería cURL, pero no logro pasar la etapa de autenticación.

Configuración: Win10 y Debian y Ubuntu (últimas versiones)
Portátil XPS15

--
(Desperate Housewives)
No jugamos en la misma liga, así que me pregunto si practicamos el mismo deporte.

1 respuesta

  1. Morgatte Mensajes publicados 1300 Estado Miembro 281
     
    Acabo de encontrar un primer éxito para enviar un correo.

    Aquí está cómo hacerlo:
    Ya tienes que disponer de curl.exe y sus dll en tu ordenador.
    Luego, al escribir esto en cmd.exe, logro enviar un correo en modo autenticado (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

    Con el contenido del archivo de texto así:

    -----------------
    From: "El nombre que quiero" <monMail@laposte.net>
    To: "destinatario" <destinataire@hotmail.com>
    Subject: Este es el asunto

    Hola,
    Acabo de enviar un correo desde la librería cURL desde la línea de comandos

    ¡Adiós!
    -----------------

    Última etapa, hay que conseguir reescribir el equivalente de esta línea en lenguaje C++ con las distintas funciones de cURL.

    Tipo:

    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);
    /* Envía el mensaje */
    res = curl_easy_perform(curl);


    Y ahí aún no está hecho!

    (Desperate Housewives)
    No jugamos tan mal en la misma liga que me pregunto si practicamos el mismo deporte.
    0
    1. Morgatte Mensajes publicados 1300 Estado Miembro 281
       
      Pequeño error en mi línea de código... Así que pongo el código correcto...

      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: "El nombre que quiero" <Expediteur@laposte.net>
      To: "destinataire" <destinataire@hotmail.com>
      Subject: Esto es el asunto

      Hola,
      Acabo de enviar un correo desde la biblioteca curl en línea de comandos

      ¡Adiós!
      -----------------
      0