2012-05-09 1 views
11

전자 메일을 보내려는 응용 프로그램에서 Curl.exe를 사용하고 있습니다. 대부분의 주요 이메일 서버를 지원해야합니다. Gmail은 다음 포트와 인증 방법을 공개합니다. (때로는 명시 TLS라고도 함)Gmail의 TLS/STARTTLS 대 SSL을 지원하는 Curl SMTP 명령 줄 인수는 무엇입니까

  • TLS/STARTTLS가 : 포트를 587
  • SSL을 사용 (때로는 암시 TLS라고 함) : 내가 사용하여 다음을 작동하도록 명시 TLS를 입수했습니다 465

포트를 사용 명령 줄 :

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 

ImplicitTLS를 작동 시키려면 다음을 시도했지만 그렇지 않습니다.

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 

SSL/암시 적 TLS를 작동시키기위한 적절한 명령 줄 매개 변수는 무엇입니까?

+0

당신은 암시 적/명시 적 교환했습니다 당신이 * 말할 때 START의 *의 SSL/TLS를 명시 적으로 이야기를 시작합니다. 둘 다 일반적으로 SSL 또는 TLS를 사용할 수 있습니다. (나는 이것에 대해 [SF에 대한 긴 대답을 썼다] (http://serverfault.com/a/368574/47187). – Bruno

+0

머리를 주셔서 감사합니다. 나는 명시적이고 암시적인 설명을 바꿨다. –

+0

'smtps : // ...'를 사용해 보셨습니까? – Bruno

답변

9

SMTPS (즉, 기존 SSL/TLS 연결 상단에있는 SMTP)에 smtps://을 사용하십시오.

이 작동합니다 : 당신이 (다운 그레이드 공격 그렇지 않으면 가능한 것)이있을 것으로 예상 할 때 나는 또한 확실 SSL이/TLS를 사용하도록 명시 적 STARTTLS 연결에 --ssl-reqd을 사용

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

. 하나 -k를 사용하지 마십시오

는 서버 인증서를 확인 : http://curl.haxx.se/docs/sslcerts.html

11

잘 난 그냥 노력은 다음을 참조하고 그것을 잘 작동합니다 :

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

그것이 도움이되기를 바랍니다!

관련 문제