[原]sendEmail invalid SSL_version at SSL.pm

2016-09-29 10:39:42来源:作者:一沙弥的世界人点击

在Linux下配置简单的邮件发送,mail 加上uuencode方式或者mutt方式,都不是很理想。因此还是继续使用之前用过的sendEmail来实现邮件发送,这还真不巧,遭遇invalid SSL_version,同时对于使用腾讯的免费企业邮箱也有一些问题,下面是故障描述及解决方案。

一、故障现象及环境 1、故障现象 # sendEmail -f cgh@163.com -t leshami@qq.com -u "TestMail" -s smtp.163.com -xu cgh -xp passwd /> -m "This is test mail from Robinson" ******************************************************************* Using the default of SSL_verify_mode of SSL_VERIFY_NONE for client is deprecated! Please set SSL_verify_mode to SSL_VERIFY_PEER together with SSL_ca_file|SSL_ca_path for verification. If you really don't want to verify the certificate and keep the connection open to Man-In-The-Middle attacks please set SSL_verify_mode explicitly to SSL_VERIFY_NONE in your application.******************************************************************* at /usr/local/bin/sendEmail line 1906.invalid SSL_version specified at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm line 415 2、环境 # cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 二、解决方案 1、SSL.pm文件415行 415 ${*$self}{'_SSL_ctx'} = IO::Socket::SSL::SSL_Context->new($arg_hash) || return;# perl -vThis is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi(with 29 registered patches, see perl -V for more detail)由于在CentOS 7下perl的版本为5.16,而centos6.5的是5.10,版本不兼容 2、解决方案 a、卸载现有的perl版本,安装老版本(不推荐)b、增加参数-o tls=no 选项# sendEmail -f cgh@163.com -t leshami@qq.com -u "TestMail" -s smtp.163.com -xu cgh -xp passwd /> -m "This is test mail from Robinson" -o tls=noSep 28 09:49:55 hn249 sendEmail[127791]: Email was sent successfully! 3、其他问题(腾讯免费邮箱不支持传统的smtp 25号端口方式 # sendEmail -f chengguohua@htyjie.com -t leshami@qq.com -u "TestMail" -s smtp.exmail.qq.com -xu chengguohua -xp passwd /> -m "This is test mail from Robinson" -o tls=noSep 28 10:00:16 hn249 sendEmail[127844]: ERROR => ERROR => SMTP-AUTH: Authentication to smtp.exmail.qq.com:25 failed. 三、其他参考

sendEmail用法:不可或缺的sendEmail

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台