Perl을 배우면서 모든 이메일을 가져 와서 파일에 저장하는 간단한 애플리케이션을 만들고 싶습니다. 어떻게 할 수 있습니까? 감사.Perl을 사용하여 이메일에 파일을 저장하려면 어떻게해야합니까?
답변
나는 어쌔신이 전환의 ISP 전에 이메일을 플래그 필터링 할 following script을 사용하는 데 사용 :
#!/usr/bin/perl
use strict;
use warnings;
$| = 1;
use constant SEVERITY => 5;
use Mail::POP3Client;
use Term::ReadKey;
my $user = shift;
my $pop = Mail::POP3Client->new(
HOST => '127.0.0.1',
PORT => 9999
);
my $pass = prompt_password();
print "\n";
$pop->User($user);
$pop->Pass($pass);
$pop->Connect or die $pop->Message;
my $count = $pop->Count;
$count >= 0 or die "Failed to get message count.\n";
$count > 0 or die "No messages in mailbox.\n";
my @to_delete;
print "Scanning messages: ";
my $to_delete = 0;
for my $msg_num (1 .. $count) {
my @headers = $pop->Head($msg_num);
for my $h (@headers) {
if($h =~ /^X-Spam-Level: (\*+)/) {
if(SEVERITY <= length $1) {
$to_delete += 1;
$pop->Delete($msg_num);
print "\b*>";
} else {
print "\b->";
}
}
}
}
print "\b ... done\n";
use Lingua::EN::Inflect qw(PL);
if($to_delete) {
printf "%d %s will be deleted. Commit: [Y/N]?\n",
$to_delete, PL('message', $to_delete);
$pop->Reset unless yes();
}
$pop->Close;
print "OK\n";
sub yes {
while(my $r = <STDIN>) {
$r = lc substr $r, 0, 1;
return 1 if $r eq 'y';
next unless $r eq 'n';
last;
}
0;
}
sub prompt_password {
print 'Password: ';
ReadMode 2;
my $pass = ReadLine 0;
ReadMode 0;
chomp $pass;
return $pass;
}
메시지를 절약 할 수 있도록이를 변경하는 간단하다. Mail::POP3Client을 참조하십시오.
대단히 고마워, 나는이 코드를 연구 할 것이다! –
대단히 감사합니다! –
나는 '대답'에 동의하는 반면 실제로 대답은 무엇입니까? 그는 CPAN을 수색해야 했음에 틀림없지 만, 우리는 SO를 완벽하게 만들고 popper를 고용 할 수 있어야하며, 그가 고용 할 수있는 작업 모듈을 적어도 제공해야합니까? 방금 검색 엔진에 연결하지 않는 것이 그것이 규칙이라고 생각 했습니까? 나는 틀릴 수 있었다. –
나는 좀 더 공손한 "RTFM"으로 읽었습니다. RTFM이 명백하기는하지만 모든 사람이 CPAN에 대해 (또는 단지 얼마나 광대한지) 잘 압니다. – Ether
- 1. Perl을 사용하여 파일을 다운로드하려면 어떻게해야합니까?
- 2. Perl을 사용하여 CGI :: Session 세션 데이터를 서버 측에 저장하려면 어떻게해야합니까?
- 3. Windows에서 Perl을 사용하여 MP3 파일을 녹음하려면 어떻게해야합니까?
- 4. Perl을 사용하여 HTTPS를 통해 파일을 다운로드하려면 어떻게해야합니까?
- 5. Perl을 사용하여 파일을 HTML 테이블로 변환하려면 어떻게해야합니까?
- 6. 다른 형식으로 파일을 저장하려면 어떻게해야합니까?
- 7. MySQL에 zip 파일을 저장하려면 어떻게해야합니까?
- 8. 장고에 이미지/파일을 저장하려면 어떻게해야합니까?
- 9. 이 파일을 구문 분석하고이를 테이블에 저장하려면 어떻게해야합니까?
- 10. 내 앱의 이메일에 형식을 지정하고 이미지를 저장하려면 어떻게해야합니까?
- 11. Perl을 사용하여 YouTube에 로그인하려면 어떻게해야합니까?
- 12. Perl을 사용하여 프로세스를 중지하려면 어떻게해야합니까?
- 13. 특정 이메일에 CSV 파일을 보내려면 어떻게해야합니까?
- 14. 새 폴더를 만들고 파일을 저장하려면 어떻게해야합니까?
- 15. Perl을 사용하여 이미지에 텍스트를 추가하려면 어떻게해야합니까?
- 16. 목표 C를 사용하여 iOS에서 로컬로 파일을 다운로드하고 저장하려면 어떻게해야합니까?
- 17. AsyncFileUpload를 사용하여 파일을 업로드하고 바이트를 데이터베이스에 저장하려면 어떻게해야합니까?
- 18. iPhone 앱에 오디오 파일을 저장하려면 어떻게해야합니까?
- 19. 런타임시 nib 파일을 편집하고 저장하려면 어떻게해야합니까?
- 20. C# 3.0 - MemoryStream에서 데이터베이스에 파일을 저장하려면 어떻게해야합니까?
- 21. SpeechSynthesizer - wav 파일을 재생/저장하려면 어떻게해야합니까?
- 22. jQuery를 사용하여 파일 응답을 저장하려면 어떻게해야합니까?
- 23. 텍스트 파일을 이메일에 첨부하십시오.
- 24. Subversion에서 커밋을 저장하려면 어떻게해야합니까?
- 25. Perl을 사용하여 파일에서 약어를 추출하려면 어떻게해야합니까?
- 26. Perl을 사용하여 HTML에서 외부 링크를 제거하려면 어떻게해야합니까?
- 27. Perl을 사용하여 HTML 테이블 데이터를 추출하려면 어떻게해야합니까?
- 28. Perl을 사용하여 datetime 비교를하고 델타를 계산하려면 어떻게해야합니까?
- 29. Perl을 사용하여 쉘 스크립트를 만들려면 어떻게해야합니까?
- 30. Perl을 사용하여 Gmail을 통해 메일을 보내려면 어떻게해야합니까?
질문에 대답하지 않지만 fetchmail을 살펴 보았습니까? –