Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> хорошо бы помощи от программеров 
:(
    Опции темы
ponch
Дата 27.2.2003, 08:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











подскажите пожалуйста знающие люди сверх начинающему программеру. Дело в том, что у меня в сети почта беспланая, то есть могу получать файлы по почте через инет бесплатно, не учитывается трафик. Мне нужен скрипт который делал бы следующее: у меня есть бесплатный хостинг, я заливаю скрипт с веб интерфейсом, захажу на него ввожу ссылку файла который надо скачать, и свою почту, после чего этот фаил падает мне на мыло бесплатно.
Знающие люди, подскажите пожалуйста, я очень прошу, а лучше дайте код проги.
Заранее благодарен..
  Вверх
HalkaR
Дата 28.2.2003, 02:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



Код
use MIME::QuotedPrint;
use MIME::Base64;
use Mail::Sendmail;

$message = qq[Текст сообщения];
$boundary = "====" . time() . "====";

 %mail = ( To      => 'ТВОЙ АДРЕСС',
           From    => '"Bill Gates" <[email protected]>',
           Subject => 'Сабдж',
    'Content-Type' => "multipart/mixed; boundary=\"$boundary\" charset=koi8-r",
    'Content-Transfer-Encoding' => '8bit',
    'X-Mailer' => 'Microsoft Outlook Express 6.00.2600.0000',
    smtp    => 'Адрес твоего почтового сервака, например smtp.mail.ru',
    'X-MSMail-Priority' => 'High');


$file = ''; #Здесь пишешь название файла, которы отправляешь.

open (F, $file) or die "Cannot read $file: $!";
binmode F; undef $/;
$mail{body} = encode_base64(<F>);
close F;

$boundary = '--'.$boundary;
$mail{body} = <<END_OF_BODY;
$boundary
Content-Type: text/html; charset="koi8-r"
Content-Transfer-Encoding: 8bit

$message
$boundary
Content-Type: application/octet-stream; name="$file"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="$file"

$mail{body}
$boundary--
END_OF_BODY


 sendmail(%mail) or die $Mail::Sendmail::error;



 print "OK. Log says:\n", $Mail::Sendmail::log;
А файл закачать на сервер не вопрос.
PM MAIL   Вверх
Unregistered
Дата 28.2.2003, 05:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Огромное тебе спасибо HalkaR, ты прямо спас, хотя скрипт я еще не проверял, но спасибо тебе за твою помощь!!!
Вот таких программеров побольше!
  Вверх
ponch
Дата 28.2.2003, 07:17 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Вы понимаете, мне нужно, чтоб скрипт мог кидать файлы на мыло по задонному url этого файла. А как я понял, этот скрипт данног не делает.
То есть есть http страница с полями e-mail и file-url. Я понимаю что может я слишком многово хочу, но я гипер начинающий и знаю только hello world.
Если вас не затруднить, не могди бы еще раз помочь, пожалуйста.
  Вверх
HalkaR
Дата 2.3.2003, 03:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



Код
use MIME::QuotedPrint;
use MIME::Base64;
use Mail::Sendmail;
use LWP::Simple;

$message = qq[Текст сообщения];
$boundary = "====" . time() . "====";

%mail = ( To      => 'ТВОЙ АДРЕСС',
          From    => '"Bill Gates" <[email protected]>',
          Subject => 'Сабдж',
   'Content-Type' => "multipart/mixed; boundary=\"$boundary\" charset=koi8-r",
   'Content-Transfer-Encoding' => '8bit',
   'X-Mailer' => 'Microsoft Outlook Express 6.00.2600.0000',
   smtp    => 'Адрес твоего почтового сервака, например smtp.mail.ru',
   'X-MSMail-Priority' => 'High');


$file = ''; #Здесь пишешь название файла, которы отправляешь.

$mail{body} = get('Адрес файла') or die "no such file: $!";

$boundary = '--'.$boundary;
$mail{body} = <<END_OF_BODY;
$boundary
Content-Type: text/html; charset="koi8-r"
Content-Transfer-Encoding: 8bit

$message
$boundary
Content-Type: application/octet-stream; name="$file"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="$file"

$mail{body}
$boundary--
END_OF_BODY


sendmail(%mail) or die $Mail::Sendmail::error;



print "OK. Log says:\n", $Mail::Sendmail::log;
Должно работать, правда не тестировал.
PM MAIL   Вверх
ponch
Дата 2.3.2003, 04:36 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Искреннее спасибо
  Вверх
антон
Дата 2.3.2003, 22:19 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











У меня это скрипт выдает, каогда я залил его на сервер, выдает такую ошибку:
CGI приложение доступно на запись другим пользователям. Для выполнения оно должно иметь права 0755 или 0711.

Атрибуды этому файлу я поставил правлеьные.

Это perl скрипт, я окрыл редактор перла, втавил его туда, вверху написал правельный путь к интерпритатору, но вод такая ошибка, может надо было еще что-то менять в самом скрипте?
  Вверх
Unregistered
Дата 3.3.2003, 03:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Насчет работоспособности: на сервере как минимум дожен быть модуль Mail::Sendmail. Проверьте.
Посчет прав ничего сказать не могу - сам запускал его по Win2000.
Кроме того в поле from для большенства реальных серверов надо писать реальный адрес на этом сервере.
  Вверх
Unregistered
Дата 3.3.2003, 03:48 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Единственная проблма может быть со скачиванием файла при помощи LWP. Все остальное работает точно.
  Вверх
ponch
Дата 3.3.2003, 03:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.3.2003

Репутация: нет
Всего: нет



То есть сам скрипт точно работаспособный?

И он точно будет отправлять файлы мне на мыло по задонному Url, если эти файлы находятся на других серверах?

И предположем что этим скриптом не я один буду пользоваться, мне нужно будет править сам скрипт, дабы изменить адрес получателя?

Вот если бы была web форма с двумя полями e-mail и url-файла, это будет супер.

Извините за глупые вопросы, просто я много чего еще не догоняю.
Спасибо большое за помощь
PM MAIL   Вверх
HalkaR
Дата 3.3.2003, 04:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



1)Первый скрипт, который я написал точно будет отправлять файл, находящийся на сервере. За второй я ничего скачть не могу, потому, что не уверен в том, как будет работать функция get. Тут надо уточнить у нашего глубокоуважаемого админа.
2)ponch, всетаки надо потихоньку учится. Всю жизнь питаться чужими скриптами не получится.
PM MAIL   Вверх
ponch
Дата 3.3.2003, 05:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.3.2003

Репутация: нет
Всего: нет



Я понимаю, вот и книг себе накупил уже, будем учится...

PM MAIL   Вверх
ixor
Дата 19.3.2003, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 19.3.2003
Где: Новосибирск

Репутация: нет
Всего: нет



я так понимаю строчка
"$mail{body} = get('Адрес файла') or die "no such file: $!";" запихивает в бодиsmile.gif
она его текстом приложит или как атачмент писоединит?
извините за глупый вопрос но с MAILом не копался ниразу, просто интересноsmile.gif
PM MAIL   Вверх
HalkaR
Дата 19.3.2003, 02:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



Файл пошлется аттачментом. Как ни странно. В боди кидается все что не является служебной информацией. Посмотри исходник какого-нибудь письма с аттачментом и увидишь, что там весь файл в двоичном коде тестом записан.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.1127 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.