2012-05-09 23 views
11

estoy usando Curl.exe en una aplicación para enviar mensajes de correo electrónico. Necesito admitir la mayoría de los principales servidores de correo electrónico. GMail expone los siguientes puertos y métodos de autenticación.¿Cuáles son los argumentos de línea de comandos SMTP Curl para apoyar GMail TLS/SSL STARTTLS vs

  • TLS/STARTTLS (a veces llamada explícita TLS): utiliza el puerto 587
  • SSL (a veces llamado implícito TLS): utiliza el puerto 465

He conseguido la explícita TLS para trabajar con el siguiente línea de comandos:

C:\>curl smtp://smtp.gmail.com:587 -v --mail-from "[email protected]" --mail-rcpt 
"[email protected]" --ssl -u [email protected]:password -T "c:\test.txt" -k --anyauth 

he intentado lo siguiente para obtener ImplicitTLS para trabajar, pero no lo es.

C:\>curl smtp://smtp.gmail.com:465 -v --mail-from "[email protected]" --mail-rcpt 
"[email protected]" --ssl -u [email protected]:password -T "c:\test.txt" -k --anyauth 

¿Cuáles son los parámetros de línea de comando apropiados para que SSL/ILS implícitos funcione?

+0

Usted ha intercambiado explícita/implícita: Cuando dice * Inicio * SSL/TLS, le diga explícitamente a empezar. Tenga en cuenta que ambos pueden usar SSL o TLS en general. (Escribí una [respuesta larga en SF] (http://serverfault.com/a/368574/47187) sobre esto.) – Bruno

+0

Gracias por el aviso. Cambié las descripciones explícitas e implícitas. –

+0

¿Ha intentado usar 'smtps: // ...'? – Bruno

Respuesta

9

Uso smtps:// para SMTPS (SMTP es decir, en la parte superior de una conexión SSL/TLS existente).

Esto funciona:

curl smtps://smtp.gmail.com:465 -v 

También me gustaría usar --ssl-reqd para la conexión explícita STARTTLS para asegurarse de SSL/TLS se utiliza cuando se espera que sea (ataques de versiones anteriores serían posibles de otra manera).

No utilice -k bien, comprobar el certificado del servidor: ver http://curl.haxx.se/docs/sslcerts.html

Cuestiones relacionadas