Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > Perl

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 18.08.2002, 22:47
LisiyGoblin вне форума Посмотреть профиль Отправить личное сообщение для LisiyGoblin Найти все сообщения от LisiyGoblin
  № 1  
LisiyGoblin

Регистрация: Jul 2002
Сообщений: 82
Question Уважаемые, помогите пожалуйста...

Почему то моя программка не работает для отправки письма, вот проверка работает, а вот senmail что-то не пашет....(
Вот она

тут на сервере лежит сендмэйл:
$sendmail = "/usr/sbin/sendmail -n -t -odq";

sub send_mail {
open(MAIL, "|$sendmail") or die "Не могу открыть программу $sendmail для отправки сообщения. Сообщите об ошибке администратору.";
print MAIL <<EOF;
From: $email
To: edubase\@edubase.ru
Имя: $name
Фамилия: $sourname
Сообщение: $com
EOF
close MAIL;
}

Вот в чем проблема - она письмо не отправляет, да еще и ошибку через die не выдает почему? я вот совершенно другой адресс в в переменной отбалды пишу, а она ошибки выдавать не хочет.... почему?

Старый 19.08.2002, 02:21
m1k3 вне форума Посмотреть профиль Отправить личное сообщение для m1k3 Найти все сообщения от m1k3
  № 2  
m1k3

Регистрация: Jul 2002
Адрес: Turkey, Istanbul
Сообщений: 54
По умолчанию Хоть я и баран в Перле...

Для начала запусти свою функцию строчкой &send_mail;
Ты наверное для нее пустую строку оставил.
Ну и переменные нужно получить.
Для проверки просто текст поставь.
Посмотри для примера formmail.pl, об этом скрипте информации в избытке.

Старый 19.08.2002, 16:48
LisiyGoblin вне форума Посмотреть профиль Отправить личное сообщение для LisiyGoblin Найти все сообщения от LisiyGoblin
  № 3  
LisiyGoblin

Регистрация: Jul 2002
Сообщений: 82
По умолчанию Хотя кто-то и баран в перле но не я....

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

Ребят, посмотрите эту процедуру пожалуйста, процедуру, а не программу..... если ничего не найдете, то пришлю программу....

ну чужие скрипты пока не донадобности, я свою форму хочу, кстати писал из книги,.....

а почемуv die не работает, вчера все-таки письмо доршло отправленное, но почему-то через 1 час после отправки, а не как не флэшерру через 5 секунд.... так вот, почему die не работает? я специально адресс сэндмэйла на серваке другой поставил, не существующий, а он выполнение программы прерывать не хочет и вывод об ошибке не дает...

Старый 19.08.2002, 16:56
SPV вне форума Посмотреть профиль Отправить личное сообщение для SPV Найти все сообщения от SPV
  № 4  
SPV
 
Аватар для SPV

Регистрация: Jan 2000
Адрес: St-Petersburg
Сообщений: 1,229
Отправить сообщение для SPV с помощью ICQ
1. From и To есть, а где тип содержимого письма:
From: $email
To: edubase\@edubase.ru
Content-Type: text/plain

2. С заголовками разобрались, а где пустая строка, отделяющая их от тела письма?
From: $email
To: edubase\@edubase.ru
Content-Type: text/plain

Имя: $name
Фамилия: $sourname
Сообщение: $com
__________________
Two beer or not two beer?...

Старый 19.08.2002, 17:03
LisiyGoblin вне форума Посмотреть профиль Отправить личное сообщение для LisiyGoblin Найти все сообщения от LisiyGoblin
  № 5  
LisiyGoblin

Регистрация: Jul 2002
Сообщений: 82
По умолчанию Ну елски палки......

....и наляпали в книжке ошибок..... это я из книги брал...
там ничего про контент-тайп не сказано, между прочем в двух книгах..

а что с ошибкой-то почему не выдает.... енто ж не хорошо......

Старый 19.08.2002, 17:05
SPV вне форума Посмотреть профиль Отправить личное сообщение для SPV Найти все сообщения от SPV
  № 6  
SPV
 
Аватар для SPV

Регистрация: Jan 2000
Адрес: St-Petersburg
Сообщений: 1,229
Отправить сообщение для SPV с помощью ICQ
Ошибки должны быть, только не скрипта, а sendmail-а - посмотри в его логах
__________________
Two beer or not two beer?...

Старый 19.08.2002, 18:09
LisiyGoblin вне форума Посмотреть профиль Отправить личное сообщение для LisiyGoblin Найти все сообщения от LisiyGoblin
  № 7  
LisiyGoblin

Регистрация: Jul 2002
Сообщений: 82
По умолчанию Слушай так....

.....вот сейчас в руках книгу держу - написано - ф-я die останавливает выполнение программы и выводит сообщение об ошибке....

я думал, что он остановить выполнение моего скрипта и выведет выражение об ошибке.... вот посмотри часть моего скрипта...#!/usr/bin/perl

use CGI;

$query = new CGI;
$sendmail = "/usr/sbin/sendmail";

if(!$query->param()) {
&print_page_start;
&print_form;
&print_page_end;
}
else {
&set_form_vars;
if (&valid_form) {
&send_mail;
&print_page_start;
&print_success;
&print_page_end;
}
else {
&print_page_start;
&print_error_message;
&print_form;
&print_page_end;
}
}

Он чего делает - я бы хотел так если ошибка и сэндмэйл не существует - то он прерывает выполнение скрипта и выводит сообщение об ощибке, таким образом не выполняя последующие процедуры
&print_page_start;
&print_success;
&print_page_end;
Во... выразил мысль, понимаешь? А то он берет и выполняет процедуру принт_саксесс , вместо того, чтобы сказать, что сэндмэйл не найден....

Старый 19.08.2002, 18:14
SPV вне форума Посмотреть профиль Отправить личное сообщение для SPV Найти все сообщения от SPV
  № 8  
SPV
 
Аватар для SPV

Регистрация: Jan 2000
Адрес: St-Petersburg
Сообщений: 1,229
Отправить сообщение для SPV с помощью ICQ
Так ведь sendmail то найден... Скрипт успешно его запускает, отдаёт на вход параметры (письмо) и закрывает... С точки зрения перла тут никаких ошибок нет, так как ему всё равно что этот самый sendmail делает - пусть хоть винт форматирует
__________________
Two beer or not two beer?...

Старый 19.08.2002, 18:35
LisiyGoblin вне форума Посмотреть профиль Отправить личное сообщение для LisiyGoblin Найти все сообщения от LisiyGoblin
  № 9  
LisiyGoblin

Регистрация: Jul 2002
Сообщений: 82
По умолчанию А-а-а-а-а........

...понял А как мне тогда так чтобы он ошибку то все-таки выдавал? процедуру чтоли писать отдельную?


и еще по ходу дела вопрос про отладку - почему кода в досе запускаю программу так: perl mail.pl

он не спрашивает про значения из формы, ведь должен просить ввести имя=значение по парам, а не просит и я не могу проверить вторую часть программы.... хелп? точно должен, в книге тоже написано....

ну у нас чат получился, внатуре ....

Старый 19.08.2002, 18:52
SPV вне форума Посмотреть профиль Отправить личное сообщение для SPV Найти все сообщения от SPV
  № 10  
SPV
 
Аватар для SPV

Регистрация: Jan 2000
Адрес: St-Petersburg
Сообщений: 1,229
Отправить сообщение для SPV с помощью ICQ
Проверить из перла отправил ли sendmail письмо можно подсмотрев в его (sendmail-а) логи... если они ведутся, конечно Или пробовать перенаправлять ответ из sendmail-а на скрипт и разбирать его (если он вообще отвечает - я не знаю)

На счёт запроса параметров с клавиатуры, если скрипт запущен не через сервер - первый раз слышу! Это что за умные книжки такие? Наверное есть отладчики перловые, которые спрашивают эти параметры, но мне самому пользоваться ими не приходилось. В твоём случае можно изменить процедуру &set_form_vars, где проверять как запущен скрипт и если это не сервер, то спрашивать параметры с клавиатуры...
__________________
Two beer or not two beer?...

Создать новую тему   Часовой пояс GMT +4, время: 07:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 07:10.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.