我正在使用Nagios插件check_email_delivery来监控电子邮件,并在某些情况下检查软件状态。我们现在将所有内部邮件服务器移动到Office 365,并发现此命令:
./check_imap_receive_epn -H outlook.office365.com -U user@example.com -P password --ssl -s SUBJECT -s $ARG1$ -w 1200 -c 1800
结果:
IMAP RECEIVE CRITICAL - Could not connect to outlook.office365.com port 993: IO::Socket::INET6 configuration failederror:00000000:lib(0):func(0):reason(0) at ./check_imap_receive_epn line 93.
无论其!将cname解析为IP地址似乎可行。例如:
./check_imap_receive_epn -H 157.56.239.201 -U user@example.com -P password --ssl -s SUBJECT -s $ARG1$ -w 1200 -c 1800
结果:
IMAP RECEIVE OK - 5 seconds, 1 found, 1 deleted
我认为问题是由此引起的:
my $socket = IO::Socket::SSL->new(PeerAddr=>"$imap_server:$imap_port", %ssl_args);
$imap_server
未正确解析的位置。有什么建议? >。<
答案 0 :(得分:1)
因为安装了IO :: Socket :: INET6 IO :: Socket :: SSL将使用它作为基类。 IO :: Socket :: INET6首先尝试获取IPv6地址(例如DNS AAAA记录),而ping等通常只尝试IPv4(通常有ping6用于IPv6)。因此,如果您的IPv6设置中断,您可能无法通过仅使用IPv4的工具实现它。请检查: