在Linux下配置简单的邮件发送,mail 加上uuencode方式或者mutt方式,都不是很理想。因此还是继续使用之前用过的sendEmail来实现邮件发送,这还真不巧,遭遇invalid SSL_version,同时对于使用腾讯的免费企业邮箱也有一些问题,下面是故障描述及解决方案。
一、故障现象及环境
1、故障现象
> -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;
This 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 选项
> -
m "This is test mail from Robinson" -o tls=
no
Sep
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=no
Sep
28 10:
00:
16 hn249 sendEmail[
127844]:
ERROR =>
ERROR => SMTP-AUTH: Authentication
to smtp.exmail.qq.com:
25 failed.
三、其他参考
sendEmail用法:不可或缺的sendEmail
转载请注明原文地址: https://ju.6miu.com/read-1203634.html