Hola, necesito saber como hacer un programa en c++ que pueda enviar e-mails automáticamente.
El tema es que no quiero que sea nada de Visual c++ ni nada parecido, y a ser posible que no necesite bibliotecas de terceros mientras haya alguna forma de hacerlo con lo que c++ te ofrece.
Gracias! :)
PD: Programo en y para la plataforma Windows.
Si programas para Windows, si o si vas a usar las librerias dinamicas de Windows.
Quieras o no, cuando un programa de Windows se carga, se cargan ciertas librerias obligadamente.
Como te quieras ir por lo bajo vas a tener que usar sockets.
Como te quieras ir por lo alto HINTERNET.
En ambos casos para enviar mails vas a tener que aprender a usar TLS porque los servidores SMTP reconocidos lo usan (ej: Google).
Asique tenes un par de opciones, incluidas no usar los servidores SMTP ajenos y programar un SMTP relay, que tiene sus problemas, como que la mayoria de los servidores de correo entrante te lo van a mandar derechito a la carpeta SPAM/Indeseado.
Para TLS TENDRIAS que usar una libreria como OpenSSL.
En cuanto a las librerias, usarlas podes tranquilamente, si no queres repartir DLLs enlaza estaticamente las que te lo permitan.
Retornando, C++ ofrece Streams pero no sockets nativamente, asique si te respondo asi la pregunta, NO TIENE LO QUE NECESITAS DE SERIE, NECESITAS INCLUIR OTRAS LIBRERIAS COMO WS2 O WINHTTP
Gracias por responder tan rápidamente.
No me importa si tengo que aprender una forma de hacerlo a bajo nivel, de hecho casi lo prefiero para así saber más certeza que hace exactamente mi programa.
Partiendo de eso me gustaría saber cual de las opciones entre WS2 y WINHTTP me recomendarías.
Si queres controlar el protocolo y saber exactamente que esta haciendo tu programa, vas a tener que ir con WinSock(WS2), eso si, recorda que si el tema es enviar mails vas a tener que implementar POP/IMAP y TLS.
ej:
Recibis Greeting
Envias USER
Recibis OK
Envias PASSWD
Recibis STARTTLS
(Inicias TLS por tu lado, encriptas el password)
Envias el password cifrado
Recibis OK,
Comenzas a enviar las partes del correo con sus repsectivos headers
Para ver el protocolo correctamente definido tenes el RFC, que ta aca:
https://www.ietf.org/rfc/rfc1939.txt
Muchas gracias someRandomCode, lo miraré luego con detenimiento. :)