Скрипт для подключения учетной записи электронной почты с использованием Net :: IMAP :: Client работает в Windows, но не подключается в raspi.
Я разработал скрипт для Windows, и он отлично работает. Когда я пытаюсь запустить его на моем raspi (raspbian stretch light 04/2019), он не может подключиться к серверу (imap.gmx.de). Я установил openssl и libssl-dev. libssl-dev был необходим для запуска модуля Net :: SSLeay, который необходим для Net :: IMAP :: Client.
Я могу подключиться из raspi к этому серверу imap с помощью команды оболочки openssl. Я могу подключаться, входить в систему, просматривать папки ... Так что я думаю, что реализация openssl и настройка сети в порядке. Но это не работает со сценарием.
#!/usr/bin/perl
use Net::IMAP::Client;
print "user: ";
my $user=<STDIN>;
chomp ($user);
print "password: ";
my $password=<STDIN>;
chomp($password);
my $imap = Net::IMAP::Client->new(
server => 'imap.gmx.de',
user => $user,
pass => $password,
ssl => 1, # (use SSL? default no)
# ssl_verify_peer => 1, # (use ca to verify server, default yes)
# ssl_ca_file => '/etc/ssl/certs/certa.pm', # (CA file used for verify server) or
# ssl_ca_path => '/etc/ssl/certs/', # (CA path used for SSL)
port => 993 # (but defaults are sane)
) or die "Could not connect to IMAP server";
$imap->login or
die('Login failed: ' . $imap->last_error);
На распи я всегда получаю сообщение
Could not connect to IMAP server at client.pl line 11, <STDIN> line 2.
С die "Could not connect to IMAP server: $@";
сообщение об ошибке
Could not connect to IMAP server: Can't call method "opened" on an undefined value at /usr/local/share/perl/5.24.1/Net/IMAP/Client.pm line 53, <STDIN> line 2.