Email 支持GMail TLS/STARTTLS与SSL的Curl SMTP命令行参数是什么
我正在应用程序中使用Curl.exe发送电子邮件。我需要支持大多数主要的电子邮件服务器。GMail公开了以下端口和身份验证方法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
- TLS/STARTTLS(有时称为显式TLS):使用端口587
- SSL(有时称为隐式TLS):使用端口465
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://...
?