【问题标题】:How to send an html page as an attachment with email in Perl [duplicate]如何在Perl中将html页面作为附件发送电子邮件[重复]
【发布时间】:2015-06-27 16:35:10
【问题描述】:

我最近开始编程,我知道如何在 perl 中发送邮件,但我正在 HTML 页面中生成一个可滚动的表格,我需要在 Perl 中将其作为附件发送,我对此一无所知。谁能帮助我?
编辑: 这个问题与How can I send an HTML email with Perl? 不同,我要求将 html 页面作为附件发送,而不是发送 html 电子邮件

【问题讨论】:

  • 您需要创建多部分消息,请参阅此模块search.cpan.org/~rjbs/MIME-Lite-3.030/lib/MIME/Lite.pm 并查看此部分:创建多部分消息(即带有附件的消息)并发送 SMTP
  • @smith 仅供参考,MIME::Lite 的文档说,“WAIT! MIME::Lite 不被当前的维护者推荐。有很多替代方案,比如 Email::MIME 或 MIME::Entity 和 Email::Sender,你可能应该使用它们。MIME::Lite 继续产生奇怪的错误报告,并且由于更好的可用性,它没有收到大量的重构替代品。请考虑使用其他东西。”
  • MIME::Lite 是我用来发送电子邮件的 goto 模块。我不确定我是否准备好放手:-)
  • 您目前使用什么模块来发送电子邮件?
  • @jkeuhlen 这不是重复的问题。

标签: javascript html perl cgi perl-module


【解决方案1】:

既然你说你已经在使用MIME::Lite,他们在他们的文档中明确说明了如何做到这一点:

$msg = MIME::Lite->new(
     To      =>'you@yourhost.com',
     Subject =>'HTML with in-line images!',
     Type    =>'multipart/related'
);
$msg->attach(
    Type => 'text/html',
    Data => qq{
        <body>
            Here's <i>my</i> image:
            <img src="cid:myimage.gif">
        </body>
    },
);
$msg->attach(
    Type => 'image/gif',
    Id   => 'myimage.gif',
    Path => '/path/to/somefile.gif',
);
$msg->send();

但是,正如 cmets 及其文档页面中所指出的那样。你真的应该使用替代品。 Mail::Sendmail 工作正常,并在他们的documentation 中告诉你如何做到这一点

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 2023-03-23
    • 2014-01-10
    • 2012-06-25
    相关资源
    最近更新 更多