Título: [Resuelto] C++ Sockets Publicado por: NOIS en 9 Noviembre 2014, 12:44 pm 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. Título: Re: Ayuda con C++ Publicado por: someRandomCode en 9 Noviembre 2014, 12:53 pm 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 Título: Re: Ayuda con C++ Publicado por: NOIS en 9 Noviembre 2014, 13:06 pm 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. Título: Re: Ayuda con C++ Publicado por: someRandomCode en 9 Noviembre 2014, 13:44 pm 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 Título: Re: Ayuda con C++ Publicado por: NOIS en 9 Noviembre 2014, 14:05 pm Muchas gracias someRandomCode, lo miraré luego con detenimiento. :)
|