如何使用Perl发送HTML电子邮件?

Ale*_*and 11 html email perl

我正在尝试使用Perl发送HTML电子邮件.

 open(MAIL,"|/usr/sbin/sendmail -t");

    ## Mail Header
    print MAIL "To: $to\n";
    print MAIL "From: $from\n";
    print MAIL "Subject: $subject\n\n";
    ## Mail Body
    print MAIL "Content-Type: text/html; charset=ISO-8859-1\n\n"
        . "<html><head></head><body>@emailBody";
 close(MAIL)
Run Code Online (Sandbox Code Playgroud)

这是正确的做法吗?它由于某种原因不起作用.谢谢你的帮助.

spa*_*azm 19

Email :: Sender :: SimpleEmail :: Sender开始.CPAN中
有一个快速入门指南,里卡多在他2009年的出现日历中写了一篇很好的用法

从快速入门指南:

  use strict;
  use Email::Sender::Simple qw(sendmail);
  use Email::Simple;
  use Email::Simple::Creator;

  my $email = Email::Simple->create(
    header => [
      To             => '"Xavier Q. Ample" <x.ample@example.com>',
      From           => '"Bob Fishman" <orz@example.mil>',
      Subject        => "don't forget to *enjoy the sauce*",
      'Content-Type' => 'text/html', 
    ],
    body => "<p>This message is short, but at least it's cheap.</p>",
  );
  sendmail($email);
Run Code Online (Sandbox Code Playgroud)


Bal*_*usC 10

内容类型应该是邮件头的一部分.现在它是邮件正文的一部分.标题通过双换行符与正文分隔.因此,删除主题标题后的第二个换行符应该可以解决内容类型无法正确解释的问题.