[perl] MIME::Lite 이메일 보내기

아래의 명령으로 설치한다.

sudo apt-get install ssmtp
sudo gedit /etc/ssmtp/ssmtp.conf

여기서 기존의 옵션은 제거하고 아래의 옵션을 추가.

ssmtp는 자신의 이메일을 통해서 이메일을 전송하므로, 존재하는 이메일을 입력해야한다.

만일 내 이메일이 springnode@gmail.com 이고 비밀번호가 1234 라면 아래와 같이 입력한다.

root=springnode@gmail.com            #자신의 이메일
mailhub=smtp.gmail.com:587
useSTARTTLS=YES
AuthUser=springnode@gmail.com        #자신의 이메일
AuthPass=1234                        #이메일의 비밀번호
rewriteDomain=gmail.com
FromLineOverride=YES
hostname=Ubuntu15.10

그리고

sudo gedit /etc/ssmtp/revaliases

로 아래의 옵션을 추가한다.

root:springnode@gmail.com:smtp.gmail.com:587

sudo cpan install MIME::Lite

로 모듈을 설치.

use strict;
use warnings;
use MIME::Lite;

my $msg = MIME::Lite->new(
    'Return-Path' => 'springnode@gmail.com',   #바꿔도 의미없음 왜있는지 모름
    'From'        => 'springnode@gmail.com',
    'To'          => 'ghkdeoek@gmail.com',
    'Subject'     => '제목';
    'Charset'     => 'utf-8',
    'Encoding'    => '8bit',
    'Data'        => '내용'
    );
 $msg->attach(
        Type     => 'file',
        Path     => '파일 경로',
        Filename => '파일이름',
        Disposition => 'attachment'
    );
 $msg->send;

위 소스는 파일을 전송하는 예시이다.