Я ищу простое (OO?) приближаются к почтовому созданию и отправке.
Что-то как
$e = Email->new(to => "test <test@test.com>", from => "from <from@from.com>");
$e->plain_text($plain_version);
$e->html($html_version);
$e->attach_file($some_file_object);
Я нашел электронную почту:: MIME:: CreateHTML, который выглядит большим почти каждым способом, за исключением того, что это не кажется вложениям файла поддержки.
Кроме того, я полагаю, что писание этих электронных писем к базе данных и наличию cronjob отправляет их позднее. Это означает, что мне был бы нужен a $e->as_text()
sub для возврата всей электронной почты, включая вложения, как необработанный текст, который я мог наполнить в дб. И таким образом, мне затем был бы нужен способ послать необработанные электронные письма - каков будет хороший способ достигнуть этого?
Большое спасибо
Вам нужно внимательнее читать документацию, тогда два из трех ваших вопросов будут спорными.
Из описания Email::MIME::CreateHTML
:
my $email = Email::MIME->create_html(
Вы, очевидно, получаете объект Email::MIME
. См. методы parts_set и parts_set для так называемых вложений.
Email::MIME
является подклассом Email::Simple
. См. метод as_string для сериализации объекта в текст.
См. Email::Sender для отправки почты.
Вы можете проверить perl MIME :: Lite .
Вы можете получить сообщение в виде строки для сохранения в базе данных:
### Get entire message as a string:
$str = $msg->as_string;
Email :: Stuff - хорошая оболочка для Email :: MIME. Вам не нужно заботиться о MIME-структуре письма, модуль сделает это за вас.
Email::Stuff->from ('cpan@ali.as' )
->to ('santa@northpole.org' )
->bcc ('bunbun@sluggy.com' )
->text_body($body )
->attach (io('dead_bunbun_faked.gif')->all,
filename => 'dead_bunbun_proof.gif')
->send;
Также есть as_string.