스크립트로 데이터를 뽑아내고 나서 이를 파일로 저장한 후에 메일로 보내고 싶을 때가 있다.

그래서 간단한 메시지와 함께 메일에 파일을 첨부해서 보내는 모듈을 소개한다.

모듈명은 Multpart 이다.

인스톨 방법은 다음과 같다. 

[root@xxx /xxx/perlprogram/Net-SMTP-Multipart-1.6] perl Makefile.PL
WARNING: 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();
소스는 위와 같다.

이제 간단한 프로그램을 짜서 메일로 잘 오는지 테스트 해보면 된다.

'서버 이야기 > Perl 이야기' 카테고리의 다른 글

Term-ReadPassword를 이용해서 입력값을 숨김으로 받는 법  (0) 2011.04.15
PERL FTP 파일 다운로드  (0) 2010.11.18
PERL Error Handling  (0) 2010.11.18
PERL Subrountines  (0) 2010.11.18
PERL Regular Expressions  (0) 2010.11.18
Posted by 서오석
,
가끔 Perl에서 입력값을 숨기고 싶을 때가 이다.
예를 들어 DB에 access하려고 하는 스크립트를 만든다고 했을 때 스크립트에 id나 PW를 박아서 연결하거나 간단한 scanf 를 통해  값을 입력받는다.

근데 그렇게 하면 PW가 공개될 우려가 있기 때문에 이를 막아주기 위하여 IO-Prompt를 사용하여 마치 리눅스 로그인하듯이 입력값을 가릴 수 있게 할 수 있다.
===========================================================================
본시스템은 허가된 사용자만 이용하실수 있습니다.
부당한 방법으로 전산망에 접속하거나 정보를 삭제/변경/유출하는
사용자는 관련법령에 따라 처벌 받게 됩니다

This is a private computer facility.
Access for any reason must be specifically authorized by the manager.
Unless you are so authorized, your continued access and any other use may
expose you to criminaland or civil proceedings
=========================================================================== 
login: 5dolstory
Password:  

리눅스에 로그인하게 될 때 Password를 치게 되면 이 때 Password 입력값은 먹지만 실제로 화면에 보여주지는 않는다.

이걸 할 수 있는 녀석이Term-ReadPassword이다.

우선 다운받아 리눅스에 인스톨을 하자.


[root@xxxx /xxxx/perlprogram/Term-ReadPassword-0.11] perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Term::ReadPassword
[root@xxxx /xxxx/perlprogram/Term-ReadPassword-0.11] make
cp ReadPassword.pm blib/lib/Term/ReadPassword.pm
Manifying blib/man3/Term::ReadPassword.3pm
[root@xxxx /xxxx/perlprogram/Term-ReadPassword-0.11] make install
Installing /usr/lib/perl5/site_perl/5.8.5/Term/ReadPassword.pm
Installing /usr/share/man/man3/Term::ReadPassword.3pm
Appending installation info to /usr/lib/perl5/5.8.5/i386-linux-thread-multi/perllocal.pod
[root@xxxx /xxxx/perlprogram/Term-ReadPassword-0.11]


저렇게 하면 모듈이 인스톨 된 것인다.

소스를 짜는 건 단순하다. 

#!/usr/bin/perl
use Term::ReadPassword;

print "input pw :";
$pw = read_password($_[0]);
print $pw; 


저렇게 짜고 실행을 시키면 이런 결과가 나온다.
 /.pw.pl
input pw :
aaaa 

즉 input pw : aaaa
aaaa
이렇게 출력되지 않는다는 것이다.


모듈 설명서 링크 : http://search.cpan.org/~phoenix/Term-ReadPassword-0.11/ReadPassword.pm


'서버 이야기 > Perl 이야기' 카테고리의 다른 글

Perl로 메일보낼 때 파일 첨부하기  (0) 2011.04.15
PERL FTP 파일 다운로드  (0) 2010.11.18
PERL Error Handling  (0) 2010.11.18
PERL Subrountines  (0) 2010.11.18
PERL Regular Expressions  (0) 2010.11.18
Posted by 서오석
,
#! /usr/local/bin/perl
use strict;
use IO::File;
use Net::FTP;

my @CHECK = ("1log.gz"
            ,"2log.gz"
);

if(@CHECK){
        my $FTP = Net::FTP->new("192.168.0.1", Debug => 0) or die "Cannot connect to 192.168.0.1: $@";
        $FTP->login("hanadmin","여기엔PW를 넣습니다.") or die "Can not login \n", $FTP->message;
        my $loc = "/data01/";
        foreach my $j (0..$#CHECK){
        chomp $CHECK[$j];
        my $file = $CHECK[$j];

        $FTP->cwd($loc) or die "Cannot change working directory ", $FTP->message;
        $FTP->binary;
        $FTP->get($file,"/daum/logs/".$file) or die "$file", $FTP->message;

        }
        $FTP->quit;
}
Posted by 서오석
,
출처 : http://www.tutorialspoint.com/perl/perl_error_handeling.htm


'서버 이야기 > Perl 이야기' 카테고리의 다른 글

Term-ReadPassword를 이용해서 입력값을 숨김으로 받는 법  (0) 2011.04.15
PERL FTP 파일 다운로드  (0) 2010.11.18
PERL Subrountines  (0) 2010.11.18
PERL Regular Expressions  (0) 2010.11.18
PERL Files & I/O  (0) 2010.11.18
Posted by 서오석
,
출처 : http://www.tutorialspoint.com/perl/perl_subroutines.htm


'서버 이야기 > Perl 이야기' 카테고리의 다른 글

PERL FTP 파일 다운로드  (0) 2010.11.18
PERL Error Handling  (0) 2010.11.18
PERL Regular Expressions  (0) 2010.11.18
PERL Files & I/O  (0) 2010.11.18
Perl Built-in Operators  (0) 2010.11.18
Posted by 서오석
,
출처 : http://www.tutorialspoint.com/perl/perl_regular_expression.htm


'서버 이야기 > Perl 이야기' 카테고리의 다른 글

PERL Error Handling  (0) 2010.11.18
PERL Subrountines  (0) 2010.11.18
PERL Files & I/O  (0) 2010.11.18
Perl Built-in Operators  (0) 2010.11.18
Perl Loops  (0) 2010.11.18
Posted by 서오석
,

'서버 이야기 > Perl 이야기' 카테고리의 다른 글

PERL Subrountines  (0) 2010.11.18
PERL Regular Expressions  (0) 2010.11.18
Perl Built-in Operators  (0) 2010.11.18
Perl Loops  (0) 2010.11.18
Perl Conditional Statements  (0) 2010.11.18
Posted by 서오석
,
출처 : http://www.tutorialspoint.com/perl/perl_operators.htm

'서버 이야기 > Perl 이야기' 카테고리의 다른 글

PERL Regular Expressions  (0) 2010.11.18
PERL Files & I/O  (0) 2010.11.18
Perl Loops  (0) 2010.11.18
Perl Conditional Statements  (0) 2010.11.18
Perl Special Variables  (0) 2010.11.18
Posted by 서오석
,
출처 : http://www.tutorialspoint.com/perl/perl_loops.htm

'서버 이야기 > Perl 이야기' 카테고리의 다른 글

PERL Files & I/O  (0) 2010.11.18
Perl Built-in Operators  (0) 2010.11.18
Perl Conditional Statements  (0) 2010.11.18
Perl Special Variables  (0) 2010.11.18
Perl Hash Variable  (0) 2010.11.18
Posted by 서오석
,
출처 : http://www.tutorialspoint.com/perl/perl_conditions.htm


'서버 이야기 > Perl 이야기' 카테고리의 다른 글

Perl Built-in Operators  (0) 2010.11.18
Perl Loops  (0) 2010.11.18
Perl Special Variables  (0) 2010.11.18
Perl Hash Variable  (0) 2010.11.18
Perl Array Variable  (0) 2010.11.18
Posted by 서오석
,
출처 : http://www.tutorialspoint.com/perl/perl_special_variables.htm


'서버 이야기 > Perl 이야기' 카테고리의 다른 글

Perl Loops  (0) 2010.11.18
Perl Conditional Statements  (0) 2010.11.18
Perl Hash Variable  (0) 2010.11.18
Perl Array Variable  (0) 2010.11.18
Perl Scalar Variable  (0) 2010.11.18
Posted by 서오석
,
출처 : http://www.tutorialspoint.com/perl/perl_hashes.htm


'서버 이야기 > Perl 이야기' 카테고리의 다른 글

Perl Conditional Statements  (0) 2010.11.18
Perl Special Variables  (0) 2010.11.18
Perl Array Variable  (0) 2010.11.18
Perl Scalar Variable  (0) 2010.11.18
Perl Variable Types  (0) 2010.11.18
Posted by 서오석
,
출처 : http://www.tutorialspoint.com/perl/perl_arrays.htm


'서버 이야기 > Perl 이야기' 카테고리의 다른 글

Perl Conditional Statements  (0) 2010.11.18
Perl Special Variables  (0) 2010.11.18
Perl Hash Variable  (0) 2010.11.18
Perl Scalar Variable  (0) 2010.11.18
Perl Variable Types  (0) 2010.11.18
Posted by 서오석
,
출처 : http://www.tutorialspoint.com/perl/perl_scalars.htm

'서버 이야기 > Perl 이야기' 카테고리의 다른 글

Perl Conditional Statements  (0) 2010.11.18
Perl Special Variables  (0) 2010.11.18
Perl Hash Variable  (0) 2010.11.18
Perl Array Variable  (0) 2010.11.18
Perl Variable Types  (0) 2010.11.18
Posted by 서오석
,

'서버 이야기 > Perl 이야기' 카테고리의 다른 글

Perl Conditional Statements  (0) 2010.11.18
Perl Special Variables  (0) 2010.11.18
Perl Hash Variable  (0) 2010.11.18
Perl Array Variable  (0) 2010.11.18
Perl Scalar Variable  (0) 2010.11.18
Posted by 서오석
,