Автор Тема: модуль Mail::Sender. Помогите плз  (Прочитано 4797 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн green_forest

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
модуль Mail::Sender. Помогите плз
« : 23 Марта 2005, 13:55:47 »
Пытаюсь сделать рассылку письма с вложением с линукс машины.
Все как-бы нормально, Виндовс-клиенты корректно видят письмо, тему. Но вложение приходит с именем крякозябриками.
Это нормально? Мне для рассылки для Видовс-машин надо перекодировать название вложения? Как-то это через... получается.

if ($mail) {
if ($email) {
print "$xls_file на $email... ";
my $sender = new Mail::Sender {
smtp => \'smtp.mail.server\',
from => \'sender@mail.server\',
replyto => \'sender@mail.server\',
on_errors => \'code\',
charset => \'KOI8-U\',
};

die "Mail::Sender: $Mail::Sender::Error" unless ref $sender;

ref $sender->OpenMultipart({
to => $email,
subject => "Вложение",
charset => \'KOI8-U\',
encoding => \'quoted-printable\',
})
or die "$sender->{\'error_msg\'}";

$sender->Body(\'KOI8-U\', \'quoted-printable\', \'text/plain\');

$sender->SendEnc(<Текст письма
EOS
$sender->SendFile({
description => "Microsoft Excel file $xls_file",
ctype => \'application/vnd.ms-excel\',
encoding => \'Base64\',
disposition => \'attachment; filename="\'.$xls_file.\'"\',
file => $xls_file
});

$sender->Close
or die "$sender->{\'error_msg\'}";

print "OK\\n";
}
« Последнее редактирование: 23 Марта 2005, 14:03:50 от NeoNox »

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
модуль Mail::Sender. Помогите плз
« Ответ #1 : 23 Марта 2005, 14:11:18 »
За такие названия в следующий раз буду бить по рукам.
Не на блатную сходку пришел.

К вопросу,
filename не хочешь дописать в SendFile?
The documentations is your friend

Оффлайн green_forest

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
модуль Mail::Sender. Помогите плз
« Ответ #2 : 23 Марта 2005, 14:36:08 »
Сори, вырвалось.

В этой строчке указывается filename:
disposition => \'attachment; filename="\'.$xls_file.\'"\',

Пробовал filename=*

То же самое.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
модуль Mail::Sender. Помогите плз
« Ответ #3 : 23 Марта 2005, 16:38:16 »
Похоже нужно играться с кодировкой $xls_file.
Вот модуль для проверки кодировки(detect) строки $xls_file
http://www.cpan.org/modules/by-module/namespace/AMICHAUER/cyrillic-2.09.tar.gz
The documentations is your friend

Оффлайн green_forest

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
модуль Mail::Sender. Помогите плз
« Ответ #4 : 23 Марта 2005, 17:14:20 »
спасибо за ответы.

Мысль есть. $xls_file содержит полный путь к файлу-вложению.
Может в строке disposition => \'attachment; filename="\'.$xls_file.\'"\'
указывать только название файла? Скорее всего так...

Оффлайн green_forest

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
модуль Mail::Sender. Помогите плз
« Ответ #5 : 23 Марта 2005, 17:20:38 »
Нет, $xls_file=\'Имя с пробелами в кодировке KOI8-U.xls\' без пути...

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
модуль Mail::Sender. Помогите плз
« Ответ #6 : 23 Марта 2005, 17:20:45 »
Я бы сказал что даже нужно.
Но врядли это решит проблему.
The documentations is your friend

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
модуль Mail::Sender. Помогите плз
« Ответ #7 : 23 Марта 2005, 17:33:22 »
Попробуй определить в какой кодировке эти кракозяблы приходят.
The documentations is your friend

Оффлайн green_forest

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
модуль Mail::Sender. Помогите плз
« Ответ #8 : 23 Марта 2005, 18:39:40 »
Приходят с названием в KOI8-U без перекодировки.
И Виндовс-клиент не может прочитать название файла.

А когда кодирую имя файла из KOI8-U -> CP1251, Виндовс-клиент все прекрасно читает.
Хоть само письмо в КОИ8
Так и должно быть?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
модуль Mail::Sender. Помогите плз
« Ответ #9 : 23 Марта 2005, 18:41:21 »
Спроси у Билли. Такое часто бывает, просто пиши в 1251.
The documentations is your friend

Оффлайн green_forest

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
модуль Mail::Sender. Помогите плз
« Ответ #10 : 23 Марта 2005, 18:42:50 »
Спасибо за помощь.

Придется все в 1251 наладить.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28