Форум

/ домой \ \ темы /



Тема: sendmail - разьяснения

05/10/2009 21:00 userUA:
Согласно описанию к утилите This program must be placed in directory upper then OUTBOX or you must use key "-o".Папка с исходящими d:\1\Mail\outbox мне нужно
sndmsg.exe положить сюда d:\1\Mail ???? ну чтоб неиспользовать ключь "-o"


05/10/2009 21:09 userUA:
вот такой скрипт тестирования правильности работы sendmail ,- письмо не отсылает
#!d:/1/Int/Perl/bin/perl.exe

###############
# testsendmail.cgi
###############

read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs=split(/&/,$buffer);
foreach $pair (@pairs) {
($name,$value)=split(/=/,$pair);
$name=~tr/+/ /;
$name=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value=~tr/+/ /;
$value=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name}=$value;
}

if ($FORM{'step'} eq '') {
$out_str=<<"[END]";
<br><p align="center"><strong><font size="4">Параметры теста</font></strong></p>
<p><font size="2">Укажите полный путь к почтовой программе "sendmail" и e-mail
назначения письма.</font></p>
<div align="center"><center>
<form action="/cgi-bin/testsendmail.cgi" method="POST">
<input type="hidden" name="step" value="1">
<table border="0" cellspacing="0">
<tr><td align="right">Путь к почтовой программе:</td>
<td><input type="text" name="path" size="20" value="d:\\1\\Mail\\sndmsg.exe -t"></td></tr>
<tr><td align="right">E-mail назначения:</td>
<td><input type="text" name="email" size="20"></td></tr>
<tr><td></td><td align="right"><input type="submit" value="Послать"></td></tr>
</table></form></center></div>
[END]
}
else {
$out_mail=<<"[END]";
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="Windows-1251"
To: <$FORM{'email'}>
Subject: TestSendmail.


Это тестовое письмо

[END]
open(MAIL,"|$FORM{'path'}");
print MAIL $out_mail;
close(MAIL);
if ($! eq '') {
$out_str=<<"[END]";
<br><p align="center"><strong><font size="4">Результат</font></strong></p>
<p
05/10/2009 21:14 userUA:
<p align="center">Тестовое письмо успешно послано.</p>
[END]
}
else {
$out_str=<<"[END]";
<br><p align="center"><strong><font size="4">Результат тестирования</font></strong></p>
<p align="center">Тестовое письмо не послано.<br>Ошибка: "$!".</p>
[END]
}
}

print "Content-type: text/html\n\n";
print << "[END]";
<html>
<head><title>Тестирование почтовой программы</title></head>
</html>
[END]

exit;
14/01/2010 10:53 Cerber:
Возможно через форму неправильно передается путь с двойными слэшами. Вообще зачем через форму передавать путь к sendmail? Обычно это прописывается жестко прямо в переменной или константе скрипта. У меня sendmail стоит в папке с shttps и нормально работает из более глубоких папок с ключом -t.

Пользователь: Пароль: Новый пользователь:   Запомнить пароль: