прикрепленный файл пуст в отправленном электронном письме - PullRequest
0 голосов
/ 26 мая 2011

Я использовал этот скрипт для отправки текстового файла, письмо отправляется с вложением, но когда я открываю прикрепленный файл, он пустесть идеи почему?я что-то пропустил.спасибо

#!/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;

1 Ответ

3 голосов
/ 26 мая 2011

Вы немного озадачены аргументами attach. Из тонкой инструкции :

Filename
Дополнительно . Название вложения. Вы можете использовать это для указания рекомендуемого имени файла для конечного пользователя, который сохраняет вложение на диск. Это необходимо только в том случае, если имя файла в конце «Path» неадекватно или если вы используете «Data» вместо «Path». Здесь не следует указывать информацию о пути (например, не следует использовать символы «/», «\» или «:»).

[...]

Путь
Альтернатива «Данные» или «FH». Путь к файлу, содержащему данные ... фактически, это может быть любое выражение open (). Если он выглядит как путь, последний элемент будет автоматически рассматриваться как имя файла. Смотрите также «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" ;
...