发送的电子邮件中的附件为空白



我用这个脚本发送了文本文件,电子邮件带有附件,但当我打开附件时,它是空白的。知道为什么吗?我错过什么了吗。thx

#!/usr/bin/perl -wl
my $msg = MIME::Lite->new(
    From    => 'xxx.net',
    To      => 'xxx.com',
    Subject => 'Report',
    Type    => 'multipart/mixed',
)or die "Error creating multipart container: $!n";
$msg->attach(
    Type     => 'TEXT',
    Data     => " Please check the attached file.",
)or die "Error adding the text message part: $!n";
$msg->attach (
   Type => 'text/plain',
   Path => '/myfile/file1',
   Filename => 'result.txt',
   Disposition => 'attachment'
)or die "Error adding the attached file part: $!n" ;
$msg->send;

您对attach的参数有点困惑。来自精细手册:

文件名
可选。附件的名称。您可以使用它为将附件保存到磁盘的最终用户提供推荐的文件名。只有当"路径"末尾的文件名不足,或者使用"数据"而不是"路径"时,才需要此选项。您不应在此处输入路径信息(例如,不应使用"/"、"\"或":"字符)。

[…]

路径
替代"数据"或"FH"。包含数据的文件的路径。。。实际上,它可以是任何可打开()的表达式。如果它看起来像一个路径,那么最后一个元素将自动被视为文件名。另请参阅"ReadNow"。

Path是要附加的文件的完整路径,Filename是要接收该文件的名称。

我想你想要这个:

$msg->attach (
   Type => 'text/plain',
   Path => '/myfile/file1/result.txt',
   Filename => 'result.txt',
   Disposition => 'attachment'
) or die "Error adding the attached file part: $!n" ;

相关内容

  • 没有找到相关文章

最新更新