読者です 読者をやめる 読者になる 読者になる

Email::Sender - GmailのSMTPサーバー経由でメール送信

Perl

追記

Gmailから送信したい場合は、Email::Sender::Transport::SMTP::TLSを使えばいいみたいですね。
Perl5 によるメール送信 - 実践的な Email::Sender の利用方法←追記されています


Perl5 によるメール送信 - 実践的な Email::Sender の利用方法より
Gmailから送信したい場合は、こうでしょうか。
Net::SMTPを使っているので、Authen::SASLが必要です。SSLを有効にしないと送信できなかったのでNet::SMTP::SSLも入れておくのを忘れずに。

use 5.12.1;
use utf8;
use Email::Sender::Simple qw(sendmail);
use Email::Simple;
use Email::Simple::Creator;
use Email::Sender::Transport::SMTP;
use Data::Recursive::Encode;
use Encode;

# e-mail object の作成
my $email = Email::Simple->create(
    header => Data::Recursive::Encode->encode(
        'MIME-Header-ISO_2022_JP' => [
            To      => '"TKSK" <tksk@example.mil>',
            From    => '"まっつん" <mattn@example.com>',
            Subject => "夕飯",
        ]
    ),
    body       => encode( 'iso-2022-jp', "うちでたべるの?" ),
    attributes => {
        content_type => 'text/plain',
        charset      => 'ISO-2022-JP',
        encoding     => '7bit',
    },
);

# 送信
sendmail(
    $email,
    {
        transport => Email::Sender::Transport::SMTP->new({
            ssl => 1,
            host => 'smtp.gmail.com',
            port => 465,
            sasl_username => 'username@gmail.com',
            sasl_password => 'password',
        })
    }
);