He tenido un problemilla con mailsend.exe, que “creo” he conseguido solucionar.
Lo expongo a todos vosotros por si ayuda a alguien (y si hay algun fiera del SMTP que nos ilumine todavia mejor).
Tenia una aplicacion funcionando, que enviaba correos estupendamente (con mailsend.exe y las rutinas de vSendMail modificadas ligeramente por mi). El caso es que estaba usando una direccion/servidor SMTP de e-mail provisional. Todo genial.
De repente me pasan la direccion de envio definitiva (y sus datos de acceso al servidor de salida, claro). Por supuesto utilizaba servidores diferentes a la provisional.
Pues con la nueva direccion, mi aplicacion no funcionaba. Estupendo…
El error que me daba era: 554 Relay access denied.
SOLO SI MANDABA CORREOS A DIRECCIONES DE OTROS DOMINIOS. SI MANDABA CORREOS AL MISMO DOMINIO DE LA DIRECCION DE ENVIO, SI FUNCIONABA.
La solucion fue usar el parametro -EHLO de mailsend.exe
Ademas tuve que usar tambien -auth-login
Parece que algunos servidores modernos necesitan esos parametros.
Al parecer puede haber un problema con los datos de inicio de sesion en el SMTP,
algunos servidores utilizan el email como usuario, otros tienen un usuario diferente a la dir. de email
Comprueba que la dirección de correo sea igual al usuario o bien si el usuario es distinto.
Ej.
Gracias Pablo. Si claro, era un problema de autentificacion con el servidor SMTP.
El caso es que probaba con los datos correctos y ni pa tras.
Hasta que no utilice -EHLO y -auth-login, no hubo manera de hacerlo funcionar.
Tambien me funciona en el puerto 25.
Y el problema es que las rutinas de Velneo incluidas en vSendMail NO CONTEMPLAN el uso
de ninguna de esas dos opciones. Hay que retocarlas o hacerte tu tus propias funciones.
Yo lo que hize fue ampliarlas con dos variables booleanas llamadas USA_EHLO y USA_AUTH_LOGIN,
al estilo de la ya existente “Usar STARTTLS”.