Mandar email en C

ReBeNTuk0

Buenas! Estoy aprendiendo los ficheros en C y me gustaria saber si es posible enviarme al correo los archivos que cree y/o modifique. Ya sea el archivo que he modificado o una alerta al correo de que he modificado tal archivo. ¿Se podria hacer? Espero que me podais ayudar, gracias.

elkaoD

Qué?

LOc0

Se puede. Yo sé hacerlo y puede que #2 también (aunque se haga el sueco xD), pero teniendo en cuenta que aún estás aprendiendo manejo de ficheros, digamos que te queda un poco grande. Si aún sigues interesado te pego el código del cual entenderás el 10% y aprenderás el 0.1% (sí, me mola inventarme los porcentajes).

Salu2 ;)

elkaoD

#3, no, de verdad, es que no he entendido qué cojones quiere xD

En un primer momento me parecía que quería que cada vez que su programa modifique un fichero se lo mande por correo, pero es que la verdad, no le veo utilidad alguna.

GaN2

A mi me molaría ver el código para saber más o menos como lo hace, podrías ponerlo por favor?

LOc0

#3 Yo creo que quiere programarse una función en C que le permita enviarse por email los nombres de los ficheros que modifica o crea (o el fichero entero) en su programita de ficheros...

Salu2 ;)

elkaoD

#6, pero para qué aparte de para saturarte la cuenta en cuanto modifiques unos cuantos ficheros y hagas alguna que otra prueba?

Es que no veo la ventaja sobre abrir el explorador de archivos, ir a la carpeta y mirar los propios ficheros xD Es que ni aunque programes en una shell en algún PC perdido de la mano de Dios viene bien...

Y si quisiera simplemente mandar mail hubiera dicho "¿Cómo mando mail en C?"

GaN2

Vale, lo pregunto yo: Como mando un mail en C? xD

elkaoD

#8, esquematizado:

  • Abres socket a servidor SMTP cualquiera. Suerte tienes que no eres servidor por lo que no tienes que trabajar con TCP multicliente, porque te pegabas un tiro y aún más si estuvieras en Linux y forkeases.
  • HELO etc. etc. (Mírate el RFC 821/822 o el protocolo en cualquier lado, en la misma Wikipedia viene un resumen básico.)
  • Si el archivo es de texto, pues ale, lo metes a saco, si es binario UUENCODE y para casa (Go MIME, también en la Wikipedia lo explican bastante bien.)
  • crlf.crlf
  • QUIT
  • Cierras socket xD
GaN2

Muchas thxs!

LOc0

#7
Poci, pero peores cosas se han visto.

#8 -> #9 is OK ;) (Te pegaría un código cutre salchichero que tenía, pero lo tengo en el disco duro trastero y buscar ahí, Dios...)

Salu2 ;)

cracking

jajaja #3 con sus porcentajes y #8 me han hecho reir jaja
PD: el leido FORK? NOOOOoooooo vaya pesadilla

javithelong

Lo de fork pesadilla... ¿es ironía? los forks, igual que los threads, son una gilipollez, no tienen dificultad...

Y para #1 mirate la RFC que te han dicho (busca en google RFC SMTP y te saldrá). Básicamente es ir mandando una serie de mensajes al servidor SMTP (servidor de correo) vía sockets.

Primero mandas un mensaje diciendo hello, y luego vas mandando los campos del mail (destinatario, asunto y blablabla)

Mi consejo, si de verdad te pones a ello, leete la RFC para ver el protocolo, búscate un sockets.c y sockets.h por internet, y vete probando debuggeando a ver qué te sale.

elkaoD

#13, pues yo me volvía loco haciendo un servidor multihilo para un MUD que hice en Linux.

maRc

O utilizar alguna biblioteca.

http://libsmtp.berlios.de/
http://www.google.es/search?q=smtp+library

B

Si el programa lo vas a usar solo en 1 pc puedes hacerlo mucho mas sencillo de las siguientes formas:

Instalas appserv
Instalas un server de mail y le abres los puertos
Hay scripts muy sencillos de formularios php para mandar emails
Haces un programa en C que cree los scripts de php (copias la funcion que hay para mandar email del formulario y quitas las variables del formulario y pones los mensajes que quieras) y los ejecutas

Esta forma te permitiria mandar los emails incluso sin email remitente (en la funcion php, puedes poner que manda el email pepe-el-puta como direccion de correo ya que tu ordenador hace de servidor mail)

-una forma todabia mas chankra:

Haces un programa en C que guarde emails en la bandeja de salida de tu gestor de correo xD

ReBeNTuk0

Buenas! La utilidad no la se muy bien, era por aprender algo nuevo aunque ahora si le he encontrado una minima utilidad. He creado un jueguecillo (con lo poquito que se de programacion) que consiste en luchar contra la maquina e ir aumentando de nivel y luchar contra enemigos mas fuertes, puedes comprar vida, mayor puntuacion para ataques, etc. Para que os hagais una idea, esta es la pantalla de finalizacion del juego:

http://img254.imageshack.us/my.php?image=juegofinalizadomr2.jpg

Entonces, cuando aprenda en un par de semanitas ficheros hare que se guarden en un .txt la puntuacion de los que vayan jugando y se ordenen en funcion de los puntos conseguidos. Si este .txt pudiera enviarlo a mi correo cada vez que alguien de los de mi clase (que son los que medio jugaran alguna vez en su vida) se pasen el juego y ver que puntuacion han sacado estaria muy wapo xDD

PD: Si os quereis reir de mi programacion os paso el codigo fuente xd

Usuarios habituales