sub _accounts_verify # { &_database_read; my @verifyList = &_string_to_list($opt_x); LOOP: foreach (@verifyList) { $pm->start and next LOOP; # do the fork my $x_3 = $dbData->{$_}->{ +POP3 } // 0; my $x_4 = $dbData->{$_}->{ +IMAP4 } // 0; my $x_S = $dbData->{$_}->{ +SMTP } // 0; my $x_U = $dbData->{$_}->{ +USER } // 0; my $x_P = $dbData->{$_}->{ +PASS } // 0; my $x_H = $dbData->{$_}->{ +HELO } // 'Foo'; $x_3 and $dbData->{$_}->{pop3folk} = &_login_pop3( $x_3, $x_U, $x_P ); $x_4 and $dbData->{$_}->{imap4folk} = &_login_imap4( $x_4, $x_U, $x_P ); $x_S and $dbData->{$_}->{smtpfolk} = &_login_smtp( $x_S, $x_U, $x_P, $x_H ); $pm->finish; } $pm->wait_all_children; print Dumper $dbData; # hier gibt es keine Net::xxx Objekte mehr foreach ( keys %{$dbData} ) { # damit ist das hier vorläufig sinnlos... $dbData->{$_}->{pop3folk}->quit if exists $dbData->{$_}->{pop3folk}; $dbData->{$_}->{imap4folk}->disconnect if exists $dbData->{$_}->{imap4folk}; $dbData->{$_}->{smtpfolk}->quit if exists $dbData->{$_}->{smtpfolk}; } } sub _login_pop3 # # 1. SSL-Verbindung zu einem pop3s-Server aufbauen # 2. Mit den übergebenen Zugangsdaten authentifizieren # { my $host = shift; my $user = shift; my $pass = shift; my $client = Net::POP3->new( Host => $host, SSL => 1, Debug => $verbose ) || die(); $client->auth( $user, $pass ); return $client; } sub _login_imap4 # # 1. SSL-Verbindung zu einem imap4s-Server aufbauen # 2. Mit den übergebenen Zugangsdaten authentifizieren # { my $host = shift; my $user = shift; my $pass = shift; my $client = Mail::IMAPClient->new( Debug => $verbose ) || die; $client->Server($host); $client->Ssl(1); $client->connect || die; $client->User($user); $client->Password($pass); $client->login; say "IMAP4 -- $host -- $user -- OK!"; return $client; } sub _login_smtp # # 1. SSL-Verbindung zu einem smtp-Server aufbauen # 2. Mit den übergebenen Zugangsdaten authentifizieren # { my $host = shift; my $user = shift; my $pass = shift; my $helo = shift; my $client = Net::SMTP->new( Host => $host, Debug => $verbose, SSL => 1, SendHello => 0, ) || die(); $client->hello($helo) || die(); $client->auth( $user, $pass ); return $client; }