Forum Webscript.Ru

Программирование => Perl => Тема начата: Blizzard от 20 Марта 2003, 17:21:28

Название: Люди, не дайте помореть. Очень надеюсь на вашу помощь!
Отправлено: Blizzard от 20 Марта 2003, 17:21:28
Народ. Нужна срочно ваша помощь. Есть что-типа мини инет магазина. Написан на перле и состоит всего из двух файлов :)
Так вот заказы приходят на мыло в виде обычного письма, а надо сделать что бы приходило в виде обычных txt файлов

(атач).

Примерно так:

------ order1.txt-------
1:Иванов И. В. (ФИО)
2:100 (Персональный код)
3:mail@mail.ru ( E-mail)
4:111-1111 (Телефон)
5:Москва (Адрес)
6:ULTRA (Название организации)
7:123456789 (ИНН)
8:1 (Метод обработки /  где, 1 - Выставление резерва, 2 - выписка счета, 3 - заявка на доставку, 4 - сборка компьтера)
20:8894;1;14.10
20:4824;2;24.40
20:3354;1;114.30
Под пунктом 20: Код, кол-во, цена
----------------------------

Отзовитесь пожалуйста кто сможет помочь. Я же в свою очередь помому чем смогу вам.

p.s Есть даже пример другого магазина, где так и сделано. Но я там не могу разобраться. Да знаний у меня на это не хватит.

:)

Откликнитесь пожалуйста!
Название: Люди, не дайте помореть. Очень надеюсь на вашу помощь!
Отправлено: Mog. от 20 Марта 2003, 19:33:18
Если решать влоб и без модулей

$mailprog="/usr/sbin/sendmail"; # или где она там
$kyda=\'zakaz@mail.ru\'; # адрес получателя
$otkyda="Ottyda"; # адрес отправителя
$tema="Проба";
$file_name="orderX.txt"; # имя файла в аттаче

# содержимое
$content_file_name=\'
1:Иванов И. В. (ФИО)
2:100 (Персональный код)
3:mail@mail.ru ( E-mail)
4:111-1111 (Телефон)
5:Москва (Адрес)
6:ULTRA (Название организации)
7:123456789 (ИНН)
8:1 (Метод обработки / где, 1 - Выставление резерва, 2 - выписка счета, 3 - заявка на доставку, 4 - сборка компьтера)
20:8894;1;14.10
20:4824;2;24.40
20:3354;1;114.30
Под пунктом 20: Код, кол-во, цена
\';

# и отправляем
open(MAIL,"|$mailprog -t");
print MAIL "To: $kyda\\n";
print MAIL "From: $otkyda\\n";
print MAIL "Subject: $tema \\n";
print MAIL "MIME-Version: 1.0\\n";
print MAIL "Content-Type: multipart/mixed; boundary=\\"----=_NextPart_000_0005_01C2EF10.0CB68A80\\"\\n";
print MAIL "------=_NextPart_000_0005_01C2EF10.0CB68A80\\n";
print MAIL "Content-Type: text/plain; name=\\"$file_name\\"\\n";
print MAIL "Content-Transfer-Encoding: 8bit; charset=\\"windows-1251\\"\\n";
print MAIL "Content-Disposition: attachment; filename=\\"$file_name\\"\\n";
print MAIL "$content_file_name";
close MAIL;

print "Content-type: text/html\\n\\n";
print "заказ отправил"; # или что то еще


На адрес $kyda приходит пустое письмо с аттачем в виде файла $fale_name и содержимым $content_file_name.
Аутлук, во всяком случае это понимает :)
Название: Люди, не дайте помореть. Очень надеюсь на вашу помощь!
Отправлено: Blizzard от 20 Марта 2003, 19:41:14
Офигеть! Я почти понял :))
Слушай, можешь прислать мне на ящик свое мыло или аську? А то так тяжко говорить :))

Мое мыло: nokiaman@nline.ru
Аська: 148983394