Perlによるメール送信(Email::Sender)
Perlでのメール送信といえばEmail::Sendを利用する方法がスタンダードですが、メンテが終了し、後継のEmail::Senderへの移行が促されているようなのでEmail::Senderの学習テストを兼ねてみました。
今回はEmail::Senderを使った初めってことで、単純にPerlからテキストのメールを送信するだけのケースについて。
use strict;
use warnings;
use utf8;
use Encode qw(encode);
use Email::MIME;
use Email::MIME::Creator;
use Email::Sender::Simple qw(sendmail);
my $from = q("送信者の名前" <from_mail@example.jp>);
my $to = q("受信者の名前" <to_mail@example.jp>);
my $subject = 'メールの送信テスト';
my $body = 'ちゃんとメールを受信できてますか?';
my $mail = Email::MIME->create(
'header' => [
'From' => encode( 'MIME-Header-ISO_2022_JP', $from ),
'To' => encode( 'MIME-Header-ISO_2022_JP', $to ),
'Subject' => encode( 'MIME-Header-ISO_2022_JP', $subject ),
],
'attributes' => {
'content_type' => 'text/plain',
'charset' => 'ISO-2022-JP',
'encoding' => '7bit',
},
'body' => encode( 'iso-2022-jp', $body ),
);
sendmail($mail);
1;
Email::Senderの使い方自体はEmail::Sender::Manual::QuickStart – search.cpan.orgはもちろん、モダンPerlの世界へようこそ:第20回 Email::Sender:メールを送信する|gihyo.jp … 技術評論社などでも挙げられているので、別段こうしてサンプルコードを晒す意味合いは薄かったりしますが……。