Perlによるメール送信(Email::Sender)
Perlでのメール送信といえばEmail::Sendを利用する方法がスタンダードですが、メンテが終了し、後継のEmail::Senderへの移行が促されているようなのでEmail::Senderの学習テストを兼ねてみました。
今回はEmail::Senderを使った初めってことで、単純にPerlからテキストのメールを送信するだけのケースについて。
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 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 … 技術評論社などでも挙げられているので、別段こうしてサンプルコードを晒す意味合いは薄かったりしますが……。