#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use Encode;
use Date::Simple 'today';
use Email::Send;
use Email::MIME::Creator;
my $SUBJECT = '件名です';
my $FROM = 'from@example.jp';
my $TO = 'to@example.jp';
my $SMTP_SERVER = '192.168.0.1';
my $BODY_FILE = '/home/turbo/body.txt';
sub send_mail {
my ($subject, $body) = @_;
my $mail = Email::MIME->create(
header => [
From => $FROM,
To => $TO,
Subject => Encode::encode('MIME-Header-ISO_2022_JP', $subject),
],
attributes => {
content_type => 'text/plain',
charset => 'iso-2022-jp',
encoding => '7bit',
},
parts => [
Encode::encode('iso-2022-jp', $body),
],
);
my $sender = Email::Send->new({
mailer => 'SMTP',
mailer_args => [ Host => $SMTP_SERVER ],
});
$sender->send($mail);
}
my $subject = sprintf("%s %s", $SUBJECT, today());
my $body;
open my $fh, '<', $BODY_FILE or die $BODY_FILE;
$body .= do { local $/; <$fh> };
close $fh;
$body = decode("utf8", $body);
send_mail($subject, $body);