gpt4 book ai didi

perl - 无法通过包 "new"定位对象方法 "IO::Socket::SSL"(也许你忘记加载 "IO::Socket::SSL"了?)

转载 作者:太空宇宙 更新时间:2023-11-03 13:08:59 24 4
gpt4 key购买 nike

我们使用 Perl 5,版本 18,subversion 1 (v5.18.1) 构建。

之前我们连接 outlook 2007 以使用用户名和密码通过 Mail::IMAPClient 模块进行连接,因为它不需要使用 SSL 或 TLS。现在我们已经将outlook迁移到2016,在这个版本中有必要引入SSL或TLS。

我尝试在 Perl 脚本中添加 SSL 代码,但失败如下:

Can't locate object method "new" via package "IO::Socket::SSL" (perhaps you forgot to load "IO::Socket::SSL"?)


我的代码:

$client = Mail::IMAPClient->new(
server => $Eserver,
User => $Euser,
Password => $Epassword,
ssl => 1,
port => 993,
Socket => IO::Socket::SSL->new
( Proto => 'tcp',
PeerAddr => $Eserver,
PeerPort => 993, # IMAP over SSL standard port
),

如果在 IMAP 客户端中添加 ssl 模块的正确方法,有人可以帮忙吗?是否需要将 Perl 5 升级到最新版本才能使用 SSL 或 TLS(使用 starttls 方法?)。

另外,我们如何知道我们使用的是哪个 IMAPclient 模块?

我确定缺少某些东西。不确定,因为我在 Perl 中工作时很天真。

最佳答案

Can't locate object method "new" via package "IO::Socket::SSL" (perhaps you forgot to load "IO::Socket::SSL")

您是否忘记加载 IO::Socket::SSL

use IO::Socket::SSL;

它甚至在 the documentation 的例子中也有:

use IO::Socket::SSL;
my $imap = Mail::IMAPClient->new
( User => 'your-username',
Password => 'your-password',
Socket => IO::Socket::SSL->new
( Proto => 'tcp',
PeerAddr => 'some.imap.server',
PeerPort => 993, # IMAP over SSL standard port
),
);

关于perl - 无法通过包 "new"定位对象方法 "IO::Socket::SSL"(也许你忘记加载 "IO::Socket::SSL"了?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58555542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com