Buenas, soy un compañero de gozinain.
El problema del connect ya se soluciono. Se kedaba blokeado conectando a un servidor smtp, hasta dar un timeout.
Añadi la inicializacion a cero de toda la estructura de la direccion del servidor smtp, y la conversion del puerto a formato network (htons), ke se nos habia olvidado.
No se cual de las dos lo arreglo, pero ya funciona.
Ahora el problema es otro.
Es un programa de sockets en c, en linux.
Solo es conectarse a un server smtp, recoger del saludo la version de programa servidor de correo, y cerrar la conexion.
Pues bien, ya hemos probado dos servidores y ninguno devuelve su version. Ya se ke segun el
RFC 2821 no tiene porke hacerlo en el mensaje de saludo, pero pense ke era practica comun. Lo dice despues, o algo?
El otro problema es al resolver el nombre del servidor smtp con gehostbyname. Devuelve una IP distinta a la ke resuelven el comando nslookup o el comando host.
Alguien sabe algo?
Adjunto esto :
prueba.c - source del programa para testear la conexion al smtp sin usar gethostbyname (ke da el problema ke explico).
server.c - este el programa ke tenemos ke hacer en realidad. El codigo donde se usa la llamada a gethostbyname esta solamente en la funcion conectarmail(), ke esta mas o menos al principio del fichero. Por cierto, tambien da un error de casting ke no he podido resolver...
A ver si alguno sabeis algo. Corre mucha prisa, algo asi como en las proximas 20 horas. Gracias de antemano.