尽管在网上找到了其他关于此问题的帖子,但我似乎无法找到解决我的问题的方法。我正在使用AWS 上的 Ubuntu 14.04我需要这台服务器做的就是通过 ZOHO 的邮件服务器发送一封电子邮件(带有 .PDF 附件)。问题是 ZOHO 的邮件服务器需要 SSL,没有办法绕过它。这显然是 Debian 中的一个已知错误:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=679911但是,我找不到关于如何修复它的共识,Debian 错误页面只是说不要使用 SSL,但这是不可能的,因为我正在使用 ZOHO 并且目前无法更改邮件提供商。
我一直在使用 Linux Mint 17.3 VM 来执行此任务,因此我知道事实上这是可行的,但是该特定的 VM 不能再用于此任务(原因太长,无法详述)。
这是我迄今为止尝试过的:
sudo update && upgrade
(我也尝试一次运行一个命令)通过命令 sudo cpan cpan[1]> upgrade 更新 Perl 5
在 AWS 上部署 Ubuntu Server 16.04 实例(除了错误列出 /usr/share/perl5/IO/Socket/SSL.pm 文件的不同行之外没有区别)
有人能告诉我用 Nano 做什么编辑才能解决这个问题以及对哪些文件进行编辑吗?我是一名 Windows 系统管理员,所以 Linux 不是我的强项。
答案1
根本问题是旧的、10 年来无人维护的 Net::SMTP::TLS 模块中的一个错误。请参阅/usr/local/share/perl5/IO/Socket/SSL.pm 第 598 行指定了无效的 SSL_version需要改变什么。
答案2
我能够通过删除这个有故障的 AWS 实例并部署一个新实例(同样是 Ubuntu Server 14.04)来找到解决方案,只是这次我按照以下说明来启动 sendEmail:https://ubuntuforums.org/showthread.php?t=1127478
sudo apt-get install sendemail
sudo apt-get install libio-socket-ssl-perl
我认为我的问题出在我之前安装 perl5 时使用的旧命令上(但不确定,如果是的话,为什么):
apt-get install libio-socket-ssl-perl libnet-ssleay-perl perl