使用MIME :: Lite将xlsx附加到电子邮件

我正在尝试使用Excel::Writer::XLSXMIME::Lite发送带有附加xlsx文件的电子邮件。 Excel文件的生成工作,因为我可以scp和Excel中打开文件没有任何问题。 当我尝试从我的电子邮件客户端(Outlook 2013)打开附件时出现此错误:

“Excel无法打开文件”from_2014-06_to_2014-07.xlsx“,因为文件格式或文件扩展名无效,请确认文件没有被破坏,文件扩展名与文件的格式相匹配。

outlook展示的文件大小是444B,但实际上是95K。 我一直在使用Spreadsheet::WriteExcel发送xls文件,并在以前没有任何问题的情况下input“application / vnd.ms-excel”。

这是我试图发送电子邮件:

 sub send_mail{ my $filename = shift; my $to_email = shift; my $from_email = shift; my $date = shift; $filename = shift; my $mail = MIME::Lite->new( 'From' => '$from_email', 'To' => $to_email, 'Subject' => "Radio/TV stats $date", 'Type' => 'multipart/mixed', #'content-type' => 'application/zip', #'Data' => "Here is your stuff", ); $mail->attach( 'Type' => 'TEXT', 'Data' => "Here is your stuff", ); $mail->attach( #'Type' => 'application/vnd.ms-excel', 'Type' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'Path' => $filepath, 'Filename' => $filename, 'Disposition' => 'attachement', ); $mail->send('sendmail'); } 

任何人都可以请帮助我附加xlsx文件?

shift两次shift$filename (第二和第六个string),并且未声明variables$filepath 。 可能在这里错误?