Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 支持GMail TLS/STARTTLS与SSL的Curl SMTP命令行参数是什么_Email_Ssl_Curl_Command Line_Smtp - Fatal编程技术网

Email 支持GMail TLS/STARTTLS与SSL的Curl SMTP命令行参数是什么

Email 支持GMail TLS/STARTTLS与SSL的Curl SMTP命令行参数是什么,email,ssl,curl,command-line,smtp,Email,Ssl,Curl,Command Line,Smtp,我正在应用程序中使用Curl.exe发送电子邮件。我需要支持大多数主要的电子邮件服务器。GMail公开了以下端口和身份验证方法 TLS/STARTTLS(有时称为显式TLS):使用端口587 SSL(有时称为隐式TLS):使用端口465 我已使用以下命令行使显式TLS正常工作: C:\>curl smtp://smtp.gmail.com:587 -v --mail-from "my.mail@gmail.com" --mail-rcpt "your.mail@x.com" --ss

我正在应用程序中使用Curl.exe发送电子邮件。我需要支持大多数主要的电子邮件服务器。GMail公开了以下端口和身份验证方法

  • TLS/STARTTLS(有时称为显式TLS):使用端口587
  • SSL(有时称为隐式TLS):使用端口465
我已使用以下命令行使显式TLS正常工作:

C:\>curl smtp://smtp.gmail.com:587 -v --mail-from "my.mail@gmail.com" --mail-rcpt 
"your.mail@x.com" --ssl -u my.mail@gmail.com:password -T "c:\test.txt" -k --anyauth
我已经尝试了以下方法来让ImplicitTLS发挥作用,但事实并非如此

C:\>curl smtp://smtp.gmail.com:465 -v --mail-from "my.mail@gmail.com" --mail-rcpt 
"your.mail@x.com" --ssl -u my.mail@gmail.com:password -T "c:\test.txt" -k --anyauth

让SSL/隐式TLS工作的正确命令行参数是什么?

对于smtps(即,现有SSL/TLS连接上的SMTP)使用
smtps://

这项工作:

curl smtps://smtp.gmail.com:465 -v
我还将使用
--ssl reqd
进行显式STARTTLS连接,以确保在您预期的情况下使用ssl/TLS(否则可能会发生降级攻击)


也不要使用
-k
,检查服务器证书:请参见我刚刚尝试了以下方法,效果很好:

curl smtps://smtp.gmail.com:465 -v --mail-from "xxx@gmail.com" --mail-rcpt "yyy@gmail.com" --ssl -u xxx@gmail.com:password -T "test.txt" -k --anyauth
希望有帮助

您可以试试这个

curl --url "smtps://smtp.gmail.com:465" --ssl-reqd --mail-from "sender@gmail.com" --mail-rcpt "recepient@gmail.com" --upload-file /var/scripts/mail.txt --user "sender@gmail.com:senderGmailPassword"

您已经交换了显式/隐式:当您说启动SSL/TLS时,您显式地告诉它启动。请注意,两者通常都可以使用SSL或TLS。(我写了一篇关于这个的文章。)谢谢你的提醒。我交换了显式和隐式描述。您是否尝试使用
smtps://...