Enviar correo a través de un proxy HTTP con curl
Compruebe los permisos CONNECT, el TLS de SMTP y las credenciales separadas del proxy y del servicio de correo antes de intentar un envío.
Un proxy HTTP puede transportar una conexión SMTP si permite un túnel CONNECT al puerto del servidor de correo. Ese permiso importa más que si una página web se carga a través del mismo proxy.
Un envío con SMTP y STARTTLS tiene esta forma general:
curl --proxy http://203.0.113.10:8080 --proxytunnel \
--url smtp://mail.example.com:587 --ssl-reqd \
--user mail-user \
--mail-from [email protected] \
--mail-rcpt [email protected] \
--upload-file message.eml
Las direcciones son marcadores de posición. Utilice un servicio de correo y un remitente para los que esté autorizado. curl pide la contraseña cuando la opción de usuario solo contiene el nombre de usuario. El archivo del mensaje necesita encabezados de correo adecuados, una línea en blanco y un cuerpo; no es solo la dirección del destinatario.
Espere conexiones e inicios de sesión separados
La opción de túnel HTTP hace que curl pida al proxy una conexión con el destino SMTP. El proxy puede exigir sus propias credenciales mediante las opciones de autenticación de proxy de curl. Después, el servicio SMTP autentica al usuario de correo dentro de esa conexión.
--ssl-reqd exige la actualización a TLS para esta URL de SMTP. Mantenga activada la verificación de certificados para el nombre de host de correo previsto. Una autenticación de proxy correcta no garantiza que TLS o el inicio de sesión de correo vayan a funcionar.
Muchos proxies HTTP de uso general restringen los puertos CONNECT. Un rechazo del puerto 587 puede ser una política deliberada. Solicite una ruta aprobada en lugar de probar repetidamente puertos no relacionados o tratar la restricción como una avería.
Los servicios de correo también pueden aplicar permisos de remitente y políticas de envío una vez que la ruta funciona. Lea la respuesta SMTP. Un mensaje rechazado después de la autenticación requiere una solución distinta de un túnel rechazado antes de que llegue el saludo SMTP.