2018年7月13日金曜日

Perl でメール送信(Email::Sender編) 添付ファイル無し

Email::Sender を使ったサンプルコードを記載。モジュールは標準ではインストールされていないので、CPANから追加して使うこと。添付ありで IO::All を使うので、事前に入れておく。

# cpan
> install Email::MIME
> install Email::Sender
> install IO::All

#!/usr/bin/perl
#
# メール送信サンプル
#
use Encode;
use Email::MIME;
use Email::MIME::Creator;
use Email::Sender::Simple qw(sendmail);
use Email::Sender::Transport::SMTP;
use strict;
use warnings;
use utf8;

# サブルーチンを呼んでメールを送る
&mailSend();

sub mailSend {
   my $from    = 'root@localhost';
   my $mailto  = 'user01@bar.com, user02@bar.com';
   my $subject = Encode::encode('MIME-Header-ISO_2022_JP', 'メール送信テスト');
   my $message = <<"BODY";
テストで送信するメールです

ここに本文を記載します。本文はヒアドキュメントを
利用して作成しています。

※本メールへの返信はしないでください。
BODY

  my $body = Encode::encode('iso-2022-jp', $message);

  my $mail = Email::MIME->create(
     header   => [
       From    => "$from",
       To      => "$mailto",
       Subject => "$subject",
      ],

    attributes => {
       content_type => 'text/plain',
       charset      => 'ISO-2022-JP',
       encoding     => '7bit',
     },

    body => $body,
   );

  my $transport = Email::Sender::Transport::SMTP->new({
     host => 'smtp.foo.com',
     port => 25,
   });

  sendmail($mail, { transport => $transport });
}

0 件のコメント:

コメントを投稿