Email::Sender を使ったサンプルコードを記載。今度は添付ファイルありバージョン。
#!/usr/bin/perl
#
# メール送信サンプル
#
use Encode;
use Email::MIME;
use Email::MIME::Creator;
use Email::Sender::Simple qw(sendmail);
use Email::Sender::Transport::SMTP;
use IO::All;
use strict;
use warnings;
use utf8;
# サブルーチンを呼んでメールを送る
&mailSend();
sub mailSend {
my $from = 'foo@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 $file = '/home/A0gaku/attachment.zip';
my @parts = (
Email::MIME->create(
'attributes' => {
'content_type' => 'text/plain',
'charset' => 'ISO-2022-JP',
'encoding' => '7bit',
},
'body' => $body,
),
Email::MIME->create(
'attributes' => {
'fimename' => 'attached.zip',
'content_type' => 'application/octet-stream',
'encoding' => 'base64',
'name' => 'attachment.zip',
},
'body' => io($file)->all,
),
);
my $mail = Email::MIME->create(
header => [
From => "$from",
To => "$mailto",
Subject => "$subject",
],
parts => [@parts],
);
my $transport = Email::Sender::Transport::SMTP->new({
host => 'smtp.foo.com',
port => 25,
});
sendmail($mail, { transport => $transport });
}
0 件のコメント:
コメントを投稿