| |
|
|
| | [mail function]
SMTP = тут название почтового сервера?
smtp_port = 110
sendmail_from= email отправителя?
|
Из вышеописанного, правильно ли я понимаю настройки php.ini? | |
| |
|
|
| |
|
|
| |
для: margol
(31.03.2007 в 14:36)
| | | да. | |
| |
|
|
| |
|
|
| |
для: cheops
(31.03.2007 в 14:39)
| | | cheops, пока вы тут хочу спросить. В вашей книге PHP5 на примерах на странице 357 последние замечание в главе Электронная почта.
Замечание.Функция майл будет работать только в том случае, если в системе, где выполняется скрипт с ее использованием, установлен почтовый транспортный клиент (MTA) ....
Вопрос.
Как я могу узнать, есть ли этот МТА на сервере, может есть функция php, определяющая его наличие? | |
| |
|
|
| |
|
|
| |
для: margol
(31.03.2007 в 14:48)
| | | Вот мой скрипт обработки формы отправки писем.
<?
$_POST['mess'] = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
$_POST['from'] = substr(htmlspecialchars(trim($_POST['from'])), 0, 50);
$_POST['email'] = substr(htmlspecialchars(trim($_POST['email'])), 0, 50);
if (empty($_POST['from'])) output_err(0);
if(empty($_POST['email'])) output_err(1);
if(empty($_POST['mess'])) output_err(2);
$mess = $_POST['mess'];
$to = 'infovuz@vspu.ru';
if (mail($to, 'title', $mess , $_POST['email'])){
echo 'to='.$to.'<br>mess='.$mess.'<br>email='.$_POST['email'].'<br>';
echo '<font color="green" size="+1">'.iconv('windows-1251', 'utf-8','Спасибо! Ваше письмо отправлено.').'</font>';
echo '<br><br><br><a href="doku.php?id=tech:quest">'.iconv('windows-1251', 'utf-8', 'Написать еще').'</a>';
echo '<br><a href="doku.php?id=tech:start">'.iconv('windows-1251', 'utf-8', 'Техническая поддержка').'</a>';
}
else {
echo '<font color="red" size="+1">'.iconv('windows-1251', 'utf-8','Внимание! Ваше письмо не отправлено.').'</font>';
echo '<br>to='.$to.'<br>mess='.$mess.'<br>email='.$_POST['email'].'<br>';
};
function output_err($num)
{
$err[0] = iconv('windows-1251', 'utf-8', 'ОШИБКА! Не введено имя.');
$err[1] = iconv('windows-1251', 'utf-8', 'ОШИБКА! Не введен e-mail.');
$err[2] = iconv('windows-1251', 'utf-8', 'ОШИБКА! Не введен текст письма.');
echo '<p><font color="red">'.$err[$num].'</font></p>';
echo '<br><a href="doku.php?id=tech:quest">'.iconv('windows-1251', 'utf-8', 'Вернуться').'</a>';
show_form();
exit();
};
?>
|
Не работает этот код, может что в нем? Вернее код работает, но mail на срабатывает. Результат работы скрипта: "Ваше сообщение не отправлено". Все параметры запрашиваемые из формы передаются нормально. В чем может быть проблема? | |
| |
|
|
| |
|
|
| |
для: margol
(31.03.2007 в 14:48)
| | | Обычно всё просто - устанавливаете почтовый сервер, который и занимается отправлением почтовых сообщений. В php.ini прописываете адрес машины, где стоит почтовый сервер, если он стоит на текущей машине указываете localhost. | |
| |
|
|
| |
|
|
| |
для: cheops
(31.03.2007 в 17:15)
| | | Спасибо, буду разбираться. | |
| |
|
|