代码之家  ›  专栏  ›  技术社区  ›  aidan

什么是用于创建和发送电子邮件的好Perl OO接口?

  •  5
  • aidan  · 技术社区  · 16 年前

    我正在寻找一个简单的(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);
    

    我找到了Email::MIME::CreateHTML,它看起来几乎在所有方面都很棒,只是它似乎不支持文件附件。

    $e->as_text() sub返回整个电子邮件,包括附件,作为原始文本,我可以塞进数据库。所以我需要一种发送原始邮件的方式-什么是实现这一点的好方法?

    非常感谢

    3 回复  |  直到 16 年前
        1
  •  4
  •   daxim Fayland Lam    16 年前

    你必须更仔细地阅读文件,那么你的三个问题中的两个就没有意义了。

    Email::MIME::CreateHTML :

    my $email = Email::MIME->create_html(
    

    Email::MIME parts_set parts_set

    电子邮件::MIME 是的一个子类 Email::Simple . 请参阅方法 as_string 用于将对象序列化为文本。

    看到了吗 Email::Sender 用于发送邮件。

        2
  •  2
  •   WhirlWind    16 年前

    你可以去看看 perl MIME::Lite

    您可以将消息作为字符串保存到数据库中:

    ### Get entire message as a string:
    $str = $msg->as_string;
    
        3
  •  1
  •   Thomas Kappler    16 年前

    Email::Stuff 是电子邮件::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;