在Perl中使用NET::SMTP发送.OFT模板似乎是UTF-8问题

在Perl中使用NET::SMTP发送.OFT模板似乎是UTF-8问题,perl,email,smtp,Perl,Email,Smtp,我目前有一个脚本,可以创建一个新的SMTP,并使用预先制作的.oft Microsoft tempate自动发送电子邮件。这是实际发送电子邮件的代码 use strict; use Net::SMTP; my $email = "blah@blah.com"; my $emailTemplate = "C:/place/where/template/goes/template.oft; open FILE, "$template" or die $!;

我目前有一个脚本,可以创建一个新的SMTP,并使用预先制作的.oft Microsoft tempate自动发送电子邮件。这是实际发送电子邮件的代码

    use strict;
    use Net::SMTP;
    my $email = "blah@blah.com";
    my $emailTemplate = "C:/place/where/template/goes/template.oft;


    open FILE, "$template" or die $!;
    binmode(FILE);
    my $data = do { local $/, <FILE> };
    close FILE;


    $smtp = NET::SMTP->('smtp.blah.com');
    $smtp->mail{'EMAILGROUP');
    $smtp->to('person@blah.com');

    $smtp->data();
    $smtp->datasend("Subject: This is the subject");
    $smtp->datasend("$data");

    $smtp->dataend();
    $smtp->quit;
它还在继续。.oft文件是UTF-8格式的,我只是认为它转换不正确。在实际发送电子邮件之前,我可以做些什么来转换所有这些吗?

MIME::Lite:发送带有已定义字符集或/和附件的电子邮件 使用模块而不是模块。
它将简化设置适当MIME头的任务,例如声明字符集

$msg->set("Content-type" => "text/plain; charset=UTF-8");
可以通过SMTP(和其他方式)发送电子邮件。

MIME::Lite:发送带有已定义字符集或/和附件的电子邮件 使用模块而不是模块。
它将简化设置适当MIME头的任务,例如声明字符集

$msg->set("Content-type" => "text/plain; charset=UTF-8");

可以通过SMTP(和其他方式)发送电子邮件。

您应该得到的结果是多个语法错误。上载模板,或提供变量
$data
$data的hexdump。data只是一封普通的Outlook电子邮件,保存为.oft文件。类似于“你好,欢迎使用blah,有关更多信息,请点击this link.blah”,没有什么特别之处。您应该得到的结果是多个语法错误。上载模板,或提供变量
$data
$data的hexdump。data只是一封普通的Outlook电子邮件,保存为.oft文件。类似于“Hello,Welcome to blah,欲了解更多信息,请点击此链接。blah”的内容没有什么特别之处,因此我正在使用此模板,模板的核心看起来是正确的,但上面和下面有数百行
`ࡱ > 根条目-5Li@*uuu属性版本1.00 a0 uu nameid_u版本1.0(,Li-5Li uuu subsg1.0_0e4001e*fq a、!$%&'()*+,-./0123456789:;?@*fq`实际生成“text/html”类型“让主要部分按照设想的方式进行。电子邮件的顶部和底部仍然有一些乱七八糟的内容,我不确定这些乱七八糟的内容可能是由*.oft文件不是“干净的html”引起的。您可以使用“纯”html作为模板文件吗?[可能带有一些特殊的标记,由您的perl脚本替换/自定义]只需将模板更改为.html模板就行了。我应该自己解决这个问题。哈哈。谢谢你的帮助!我现在已经正确地完成了!所以我正在使用这个模板,模板的核心看起来是正确的,但是上面和下面都有数百行这样的内容……
`ࡱ > 根条目-5Li@*uuu属性版本1.00 a0 uu nameid_u版本1.0(,Li-5Li uuu subsg1.0_0e4001e*fq a、!$%&'()*+,-./0123456789:;?@*fq`实际生成“text/html”类型“让主要部分按照设想的方式进行。电子邮件的顶部和底部仍然有一些乱七八糟的内容,我不确定这些乱七八糟的内容可能是由*.oft文件不是“干净的html”引起的。您可以使用“纯”html作为模板文件吗?[可能带有一些特殊的标记,由您的perl脚本替换/自定义]只需将模板更改为.html模板就行了。我应该自己解决这个问题的。哈哈。谢谢你的帮助!我现在已经正确地完成了!