[英]How can I get the date of an email using Perl's Mail::MboxParser::Mail?
這是一個簡單的問題。 我這里有一個小程序,可以讀取該程序指定的用戶帳戶的特定收件箱中的電子郵件列表。 我可以使用其用戶名,密碼和主機訪問帳戶。 唯一的問題是我不知道如何獲取這些郵件的日期。
這是我的代碼的一部分:
my $pop = new Mail::POP3Client(
USER => $user, #some user,password & host assigned
PASSWORD => $pass,
HOST => $host );
for( $i = 1; $i <= $pop->Count(); $i++ ) {
@header = $pop->Head($i);
@body = $pop->Body($i);
$mail = new Mail::MboxParser::Mail(\@header, \@body);
$user_email = $mail->from()->{email
print "Email:".$user_email; #this prints out right
foreach( $pop->Head( $i ) ) {
/^(Date):\s+/i && print $_, "\n";
$date = $_;
}
}
現在,我需要為每封電子郵件獲取唯一的日期,但是該循環為我提供了所有..但是,刪除循環時,它將返回錯誤。 我正在使用Perl。
請幫我嗎? :)
根據MboxParser :: Email文檔,您應該能夠執行以下操作:
$date = $mail->header->{'date'}; #Keys are all lowercase
如果返回的$date
不止一個,則$date
將是數組引用,您可以使用以下命令訪問Date的第一次出現:
$date->[0];
因此,您無需遍歷標頭並使用正則表達式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.