【问题标题】:Can't locate object method "new" via package "IO::Socket::SSL" (perhaps you forgot to load "IO::Socket::SSL"?)无法通过包“IO::Socket::SSL”定位对象方法“new”(也许您忘记加载“IO::Socket::SSL”?)
【发布时间】:2020-02-21 15:07:52
【问题描述】:

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

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

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

无法通过包“IO::Socket::SSL”定位对象方法“new”(也许您忘记加载“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 中工作很天真。

【问题讨论】:

    标签: perl sockets ssl imapclient


    【解决方案1】:

    无法通过包“IO::Socket::SSL”定位对象方法“new”(可能您忘记加载“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 脚本中提到了相同的内容,但它仍然给出如下错误,
    • @Deepak:您可能需要仔细检查use 行的拼写。该错误通常意味着模块未加载。请将代码中的行剪切并粘贴(不要重新输入)到您的问题中。
    【解决方案2】:

    通常,这意味着您忘记了“use PackageName;”这一行

    $ perl -le "IO::Socket::SSL->new()"
    Can't locate object method "new" via package "IO::Socket::SSL" (perhaps you forgot to load "IO::Socket::SSL"?) at -e line 1.
    

    并且没有错误

    $ perl -le "use IO::Socket::SSL; IO::Socket::SSL->new()"
    

    【讨论】:

    • 或:perl -MIO::Socket::SSL -le "IO::Socket::SSL->new()"
    • @Dave Cross,重点是展示 OP 需要添加到他们的脚本中的内容。打高尔夫球无济于事
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    • 2020-09-14
    • 2019-01-08
    • 1970-01-01
    相关资源
    最近更新 更多