我找到了一个解决方法。我不确定这是否是最好的选择,也不知道它可能会导致什么其他问题。我将 SSL.pm 从 ubuntu 版本 22.10 复制到 23.04,现在一切正常。我确实验证了它正在使用 tls。
如果有人知道此解决方法的任何安全或其他问题,请告诉我
SSL.pm 中的行 790 if ( ! defined $host ) { 791 if ( $host = $arg_hash->{PeerAddr} || $arg_hash->{PeerHost} ) { 792 $host =~s{^ 793 (?: 794 ([^:[]+) | # ipv4|host 795 ([(.*)]) # [ipv6|host] 796 ) 797 (:[\w-]+)? # 可选 :port 798 $}{$1$2}x; # ipv4|host|ipv6 799 } 780 }
我一直在使用 sendemail,ubuntu 22.10 桌面版 amd64 没有任何问题,但当我升级到 23.04 桌面版 amd64 时,我收到以下错误。我尝试了将 smtp.gmail.com ip 地址添加到本地主机文件的建议,但没有成功。以下是我使用的命令,输出有错误。所有更新都已安装
sendemail -v -f <account>@gmail.com -t <account>@comcast.net -s smtp.gmail.com:587 -u "Update Backup Information" -m Update-List -a file.txt -xu <account>@gmail.com -xp <password> -o tls=yes
命令输出
May 29 14:04:37 localhost sendemail[37776]: DEBUG => Connecting to smtp.gmail.com:587
May 29 14:04:37 localhost sendemail[37776]: DEBUG => My IP address is: 10.1.10.25
May 29 14:04:38 localhost sendemail[37776]: SUCCESS => Received: 220 smtp.gmail.com ESMTP nn6-20020a17090b38c600b002508f0ac3edsm2838235pjb.53 - gsmtp
May 29 14:04:38 localhost sendemail[37776]: INFO => Sending: EHLO localhost
May 29 14:04:38 localhost sendemail[37776]: SUCCESS => Received: 250-smtp.gmail.com at your service, [24.9.60.118], 250-SIZE 35882577, 250-8BITMIME, 250-STARTTLS, 250-ENHANCEDSTATUSCODES, 250-PIPELINING, 250-CHUNKING, 250 SMTPUTF8
May 29 14:04:38 localhost sendemail[37776]: INFO => Sending: STARTTLS
May 29 14:04:39 localhost sendemail[37776]: SUCCESS => Received: 220 2.0.0 Ready to start TLS
Use of uninitialized value $2 in concatenation (.) or string at /usr/share/perl5/IO/Socket/SSL.pm line 792.
May 29 14:04:39 localhost sendemail[37776]: ERROR => TLS setup failed: hostname verification failed
您能针对我的问题提供任何建议或解决方案吗?
答案1
2024 年 3 月 17 日 从 Mint 20.3 切换到 LMDE6(Debian 12 版本)后,我遇到了同样的问题。有了系统备份,我将 20.3 备份中的 SSL.pm 文件复制到了 LMDE6 的 SSL 文件夹中。问题解决了。