如何解析电子邮件以提取文本(密码)并存储在变量中

|| 我有一个使用临时密码向用户发送电子邮件的系统。我正在使用以下脚本来输出电子邮件,但是我正在寻找一种提取密码并将值存储在变量中的方法。电子邮件的正文将带有以下文本“您的临时密码为”,我想解析电子邮件正文并提取。我假设我可以使用解析模块来搜索\“您的临时密码为\”,然后将下一个令牌存储到变量中,但是我对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;
    
已邀请:
这是一个接收消息文本并返回密码的函数,如果找不到密码,则返回“ 1”。
sub extract_password {
    my $text = shift;

    if ($text =~ /Your temporary password is (\\S+)/) {
        return $1;
    }
    else {
        return undef;
    }
}
然后您可以说
my $password = extract_password($msg_text)
。     

要回复问题请先登录注册