以下は、perlでhtmlメールを送信するための私のコードです
use strict;
use warnings;
use Email::Sender::Simple qw(sendmail);
use Email::Sender::Transport::SMTP ();
use Email::Simple ();
use Email::Simple::Creator ();
use Email::MIME::CreateHTML;
my $smtpserver = 'xxx.xxx.xx';
my $smtpport = 25;
my $smtpuser = 'xxx@test.com';
my $smtppassword = 'xxxx';
my $transport = Email::Sender::Transport::SMTP->new({
host => $smtpserver,
port => $smtpport,
sasl_username => $smtpuser,
sasl_password => $smtppassword,
});
my $html ="<div>Success</div>";
my $plain_text ="plain text";
my $email = Email::MIME->create_html(
header => [
From => 'test@lintotest.com',
To => 'linodavis@gmailcom',
Subject => 'Test Mail',
],
body => $html,
text_body => $plain_text
);
sendmail($email, { transport => $transport });
正常に動作しています。メール送信の応答を見つける必要があります。
そのために、コードを次のように変更しました
eval {
sendmail($email, { transport => $transport }); # this is try catch method
};
if ($@) {
# where $@ is a object of Email::Sender::Failure
print $@->message;
print"\n".$@->code ;
}else{
print "success";
}
これを達成するためのより良い方法はありますか?