서버 이야기/Perl 이야기
Perl로 메일보낼 때 파일 첨부하기
서오석
2011. 4. 15. 19:17
스크립트로 데이터를 뽑아내고 나서 이를 파일로 저장한 후에 메일로 보내고 싶을 때가 있다.
그래서 간단한 메시지와 함께 메일에 파일을 첨부해서 보내는 모듈을 소개한다.
모듈명은 Multpart 이다.
인스톨 방법은 다음과 같다.
인스톨을 했으니 이제 메일을 보내면서 파일을 전송해보자.
이제 간단한 프로그램을 짜서 메일로 잘 오는지 테스트 해보면 된다.
그래서 간단한 메시지와 함께 메일에 파일을 첨부해서 보내는 모듈을 소개한다.
모듈명은 Multpart 이다.
인스톨 방법은 다음과 같다.
[root@xxx /xxx/perlprogram/Net-SMTP-Multipart-1.6] perl Makefile.PLWARNING: HTMLLIBPODS is not a known parameter. Checking if your kit is complete... Looks good 'HTMLLIBPODS' is not a known MakeMaker parameter name. Writing Makefile for Net::SMTP::Multipart [root@xxx /xxx/perlprogram/Net-SMTP-Multipart-1.6] make pod2text Multipart.pm >README pod2html Multipart.pm >Multipart.html /usr/bin/pod2html: no title for Multipart.pm. cp Multipart.pm blib/lib/Net/SMTP/Multipart.pm Manifying blib/man3/Net::SMTP::Multipart.3 [root@xxx /xxx/perlprogram/Net-SMTP-Multipart-1.6] make install Installing /usr/lib/perl5/site_perl/5.8.5/Net/SMTP/Multipart.pm Installing /usr/share/man/man3/Net::SMTP::Multipart.3 Appending installation info to /usr/lib/perl5/5.8.5/i386-linux-thread-multi/perllocal.pod [root@biz-anal /daum/perlprogram/Net-SMTP-Multipart-1.6] |
인스톨을 했으니 이제 메일을 보내면서 파일을 전송해보자.
my $to = $_[0]; #받는 사람 my $from = $_[1]; #보내는 사람 my $subject = $_[2]; #제목 my $text =$_[3]; #내용 my $file = $_[4]; #첨부파일 (파일위치와 파일명까지 써줘야함) my $smtp = Net::SMTP::Multipart->new('127.0.0.1'); #<- SMTP 서버 $smtp->Header(To => $to, Subj => $subject, From => $from); $smtp->Text($text); $smtp->FileAttach($file); $smtp->End();소스는 위와 같다.
이제 간단한 프로그램을 짜서 메일로 잘 오는지 테스트 해보면 된다.