Автор Тема: послать форму как интернет сообщение  (Прочитано 2959 раз)

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

Оффлайн Татьяна

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 4
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Привет!
У меня возникла следующая проблема: мне нужно отослать содержание формы на любой адрес, для этого я использовала CGI-Script, пример которого находится на странице: http://selfaktuell.teamone.de/artikel/cgiperl/form-mail/index.htm:

#!С:/Perl/bin/perl

# -------> SMTP-Programm zum Versenden der Mail:
$Sendmail_Prog = "С:/Perl/lib/sendmail";
use CGI;
$query = new CGI;
@names = $query->param;

# -------> считать текст с hidden-полей:
$delimiter = $query->param(\'delimiter\');  
$mailto = $query->param(\'mailto\');        # ---> Получатель
$returnhtml = $query->param(\'return\');    # ---> URL für Dankeseite
$subject = $query->param(\'subject\');      # ---> E-Mail-Subject


# -------> Считать текст из формы:
$mailtext = "";
foreach(@names) {
  $name = $_;
  @values = "";
  @values = $query->param($name);
  if($name ne "mailto" && $name ne "return" && $name ne "subject" && $name ne "delimiter") {
    foreach $value (@values) {
      $mailtext = $mailtext.$name;
      $mailtext = $mailtext.$delimiter;
      $mailtext = $mailtext.$value."\\n";
    }
  }
}

# -------> E-Mail послать:
open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Ошибка в sendmail\\n";
print MAIL "To: $mailto\\n";
print MAIL "Subject: $subject\\n\\n";
print MAIL "$mailtext\\n";
close(MAIL);
print "Location: $returnhtml\\n\\n";

Программа обрабатывает мою форму и потом открывает RETURN-страничку с сообщением, что сообщение успешно отправлено, но я ничего потом не получаю.
У меня Windows 98 и я ввожу вместо $Sendmail_Prog = "/usr/lib/sendmail"; полный путь "С:/Perl/lib/sendmail"
Может в этом моя ошибка?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
послать форму как интернет сообщение
« Ответ #1 : 07 Ноября 2002, 16:43:21 »
А sendmail то есть? На сервере.
The documentations is your friend

Оффлайн Татьяна

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 4
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
послать форму как интернет сообщение
« Ответ #2 : 07 Ноября 2002, 16:56:02 »
У меня инсталирован сервер на моем компьютере, чтобы можно бало локально проверять CGI-Script.
В папке cgi-bin находится только maillog, a sendmail лежит в папке Perl/lib

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
послать форму как интернет сообщение
« Ответ #3 : 07 Ноября 2002, 17:01:37 »
sendmail это сервер для работы с почтой. Устанавливается отдельно от Perl и Apache. Но его нужно установить. Это не библиотека Perl-a. Если у тебя sendmail под вин., то какой именно (их штуки 3 есть).
The documentations is your friend

Оффлайн Татьяна

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 4
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
послать форму как интернет сообщение
« Ответ #4 : 07 Ноября 2002, 17:12:46 »
sendmail server у меня не установлен, не подскажешь, где его можно скачать?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
послать форму как интернет сообщение
« Ответ #5 : 07 Ноября 2002, 17:14:44 »
Читать тут: http://www.webz.ru/www/4/
Качать тут: http://www.indigostar.com/sendmail.htm
Удачи.
The documentations is your friend

Оффлайн Татьяна

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 4
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
послать форму как интернет сообщение
« Ответ #6 : 07 Ноября 2002, 17:19:02 »
Спасибо за помощь!

 

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