간략하게하기 위해 Mail::POP3Client을 사용 중이며 최신 n
개의 메시지 (내 코드에는 5 개)의 헤더를 가져 오려고합니다. 이것은 웹 스크립트 일 것이고 페이지에 최신 5 개의 이메일이 다운로드되어 파싱됩니다 (그들의 주체와 발신자) 하지만 지금은 최신 5 대신에 7 월부터 여러 가지 이메일을 받았습니다 (나는 많은 이메일을 받았습니다. 7 월 이전에도). 분명히 my $email_count = $pop->Count;
은 단지 count이고 인덱스 유형 값이 아닌 것 같습니다.Mail :: POP3Client 다운로드 최신 n 전자 메일?
for (my $i = $email_count; $i >= $email_count-5; $i--) {
foreach ($pop->Head($i)) {
if (/^(From):\s+/i) { $FROM = $_; }
if (/^(Subject):\s+/i) { $SUBJECT = $_; }
if (/^(Date):\s+/i) {
$TIME = $_;
$TIME =~ s/Date: (.*)/$1/;
my $tstamp = str2time($TIME);
# $TIME = $tstamp;
$TIME = scalar localtime($tstamp);
my @fromsubj;
$fromsubj[0] = $FROM;
$fromsubj[1] = $SUBJECT;
$subject{$TIME} = [@fromsubj];
}
}
print "Index: $i \n";
}
print Dumper(%subject);
print "\n";
print Dumper(%from);
print "Mails $email_count to ".($email_count-5);
출력 :
이Index: 4030
Index: 4029
Index: 4028
Index: 4027
Index: 4026
Index: 4025
$VAR1 = 'Thu Jul 26 09:01:07 2012';
$VAR2 = [
'From: Person one ',
'Subject: Fwd: test '
];
$VAR3 = 'Tue Jul 24 15:09:43 2012';
$VAR4 = [
'From: person two ',
'Subject: subj '
];
(And so on)
....
Count 4030 4020
가 어떻게 최신 이메일 당겨 할 수 있습니까? POP /이 모듈을 사용할 수 있습니까? 그렇지 않다면 대신 사용할 수 있습니까?
나는 시간 소인별로 분류 할 수있는 방법이 있다고 확신하지만 제한 할 길이 없다. 또한 가능한 경우 IMAP을 사용하는 것이 좋습니다. 그것은 내 경험에서 훨씬 더 신뢰할 수 있습니다. – thealexbaron
나는 POP를 사용했지만 사서함은 어쨌든 특정 목적을 위해 작게 유지되었습니다. – Recct
기본적으로 메시지를 반환하는 순서를 알 수 있습니까? 나는 그것이 날짜다고 생각할 것이다. – thealexbaron