我正在尝试在Linux Mint 20下使用git send-email。
同样的配置在Debian Sid下工作。
现在我得到错误:
mcon@cinderella:~/vocore/__V2__/u-boot$ git send-email --to=u-boot@lists.denx.de /tmp/output/ --smtp-debug
/tmp/output/0000-cover-letter.patch
/tmp/output/0001-Small-fixes-to-reduce-size-and-ensure-correct-consol.patch
/tmp/output/0002-Enlarge-SPL-malloc-area-to-prevent-failure-in-lzma-d.patch
/tmp/output/0003-Fix-missing-__udivdi3-in-SquashFS-implementation.patch
(mbox) Adding cc: Mauro Condarelli <mc5686@mclink.it> from line 'From: Mauro Condarelli <mc5686@mclink.it>'
DEBUG: .../IO/Socket/SSL.pm:1177: global error: Undefined SSL object
DEBUG: .../IO/Socket/SSL.pm:900: local error: SSL connect attempt failed error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol
DEBUG: .../IO/Socket/SSL.pm:903: fatal SSL error: SSL connect attempt failed error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol
Unable to initialize SMTP properly. Check config and use --smtp-debug. VALUES: server=mail2.mclink.it encryption=ssl hello=cinderella.condarelli.it port=465 at /usr/lib/git-core/git-send-email line 1558.
字符串
AFAIK这是由于我的上游邮件不接受TLSv 2协议(目前默认情况下强制执行)。
IFF这是正确的:如何说服git send-email
使用TLSv 1?
显然我没有办法强迫上游的邮件“升级”。
1条答案
按热度按时间lb3vh1jj1#
.... server= mail2.mclink.it... port=465
这是一个相当坏的服务器,你正在尝试在这里使用。看起来它能做的最好的是TLS 1.0,使用RC 4-MD5作为密码,这在许多方面都很弱。在较新版本的openssl中通常不再编译此密码,因此它很可能无法与您当前的设置一起工作。
但是在同一服务器上的SMTP访问也可以在端口25上进行,包括使用STARTTLS的TLS。这个示例实际上提供了具有强密码的TLS 1.2。所以最好改变你的设置来使用这个。请注意,在这种情况下,您必须将
smtpEncryption
设置为tls
而不是ssl
,因为tls
被解释为SMTP+STARTTLS(通常在端口25和587上),而ssl
被解释为隐式TLS(通常在端口465上)。AFAIK这是由于我的上游邮件不接受TLSv 2协议(目前默认情况下强制执行)。
TLS自动使用客户端和服务器支持的最佳协议版本。没有必要显式地降级,除非服务器太坏,并且在提供较新的协议版本时阻塞。
IFF这是正确的:如何说服git send-email使用TLSv 1?
你不能。没有办法设置发送电子邮件的协议或密码。基于the source code,它简单地使用Perl Net::SMTP,然后使用IO::Socket::SSL及其默认设置-脚本中没有尝试覆盖这些设置。任何关于这一点的建议可能适用于git连接本身,但不适用于git-send-email。