Perl 附件在发送的电子邮件中为空

Perl 附件在发送的电子邮件中为空,perl,mod-perl2,Perl,Mod Perl2,我用这个脚本来发送文本文件,电子邮件会随附件一起发送,但当我打开附件时,它是空白的。知道为什么吗?我错过什么了吗。thx #!/usr/bin/perl -wl my $msg = MIME::Lite->new( From => 'xxx.net', To => 'xxx.com', Subject => 'Report', Type => 'multipart/mixed', )or die "Error c

我用这个脚本来发送文本文件,电子邮件会随附件一起发送,但当我打开附件时,它是空白的。知道为什么吗?我错过什么了吗。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”

路径
是要附加的文件的完整路径,
文件名
是要查看该文件的名称

我想你想要这个:

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

您对
attach
的参数有点困惑。从:

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

[……]

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

路径
是要附加的文件的完整路径,
文件名
是要查看该文件的名称

我想你想要这个:

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

发布代码时,将其缩进4个空格(或使用编辑器中的
{}
按钮),以便正确显示。如果在接收客户端查看消息源,您会看到什么?谢谢大家!!我已在“path=>”/myfile/file1“replace path=>”/myfile/file1/result.txt”和附加文件上添加了完整路径。请确保该文件未被“清理”“通过客户端的邮件服务器。某些邮件服务器不允许某些附件类型。可能与
Path
不以斜杠结尾有关。我似乎记得有些模块对此很挑剔。例如,在发布代码时,它应该是
Path=>'/myfile/file1/'
,将其缩进4个空格(或使用编辑器中的
{}
按钮),以便正确显示。如果在接收客户端查看消息源,您会看到什么?谢谢大家!!我已在“path=>”/myfile/file1“replace path=>”/myfile/file1/result.txt”和附加文件上添加了完整路径。请确保该文件未被“清理”“通过客户端的邮件服务器。某些邮件服务器不允许某些附件类型。可能与
Path
不以斜杠结尾有关。我似乎记得有些模块对此很挑剔。例如,它应该是
Path=>'/myfile/file1/'