1

我已经使用MIME::Lite有一段时间了,直到现在还没有遇到任何问题。

我正在尝试附加.txt文件,但文件(发送后)里面没有内容。

我知道该文件中有一些内容,因为我正在.txt同一个脚本中创建该文件。我知道文件在哪里并且可以看到它的内容,但是当我告诉MIME::Lite附加.txt文件时,电子邮件只包含文件名并且只有 64 个字节。

这是MIME::Lite我的脚本部分的代码:

$msg = new MIME::Lite(From => $from,To => $to,Subject => $subject,Data => "Data",Type => "multipart/mixed",); 
$msg->attach(Type => 'TEXT', Data => @message);
$msg->attach(Type => 'TEXT', Path => $stat_file);
$msg->send();

其中$stat_file=/in/some/dir/cheese/txt/somefile.txt

除第 3 行外,一切正常。它正确地找到并附加了我指向的文件,但是当它到达我的电子邮件时,它是一个.txt64 字节的空白文件。

我已经尝试了此代码前 3 行中每一行的几种变体,但不知道我缺少什么。

有人看到这个脚本会按照解释执行的原因吗?

4

1 回答 1

9

您说您正在创建程序中指向的文件$stat_file,对吗?也许您还没有关闭该文件的文件句柄,并且可能没有将其刷新到磁盘?

于 2011-02-11T20:21:15.480 回答