У меня есть система, которая отправляет электронное письмо пользователю с временным паролем. Я использую следующий скрипт для вывода электронной почты, но я ищу способ извлечь пароль и сохранить значение в переменной. В теле письма будет следующий текст: «Ваш временный пароль». Я хочу проанализировать тело письма и извлечь его. Я предполагаю, что мог бы использовать модуль синтаксического анализа для поиска «Ваш временный пароль», а затем сохранить следующий токен в переменной, но мои знания Perl не так уж велики. Кто-нибудь может указать мне правильное направление?
#!/usr/bin/perl
use Net::POP3;
my $username="user";
my $password="password";
my $host="192.168.17.50";
# Constructors
my $pop = Net::POP3->new($host)||
die "Problem calling Net::PoP->new\n$!\n";
# $pop = Net::POP3->new($host, Timeout => 60);
if ($pop->login($username, $password) > 0) {
my $msgnums = $pop->list; # hashref of msgnum => size
foreach my $msgnum (keys %$msgnums) {
my $msg = $pop->get($msgnum);
my $password = extract_password($msg)||
die "Problem with extract_password\n$!\n";
print $password;
$pop->delete($msgnum);
}
}
$pop->quit;