Вход

Просмотр полной версии : Подскажите по функции PHP mail()


volant
04.12.2008, 19:55
Сабж. Если стоит Апач, в настройках пхп.ини прописан смтп сервер, скрипт отправки ошибок не выдает, но письмо не доходит - шо делать? Где может быть ошибка? Кроме апача, нужно ли устанавливать какой-либо сервер на комп или нет?

Cayenne
04.12.2008, 22:19
А смтп сервер робить нормально ? авторизації прописані ?

volant
04.12.2008, 23:13
А как это проверить? Если я отсылаю письмо через Аутлук Экспресс (там в настройках стоит адрес СМТП такой же как в пхп.ини), то все нормально отсылается. А через скрипт, не проходит.

volant
04.12.2008, 23:15
Вот весь скрипт:

<?php
//Если была нажата кнопка ОК,
//то отправляем письмо и информируем об этом пользователя
//session_start();
require_once ('connect.php');// соединяемся с базой мускуля
$sql="SELECT name, email, id FROM USERS ORDER BY name";
$data=mysql_query($sql);
echo "<p align='left'>На главную ('index.php')</p>";
echo "Вернуться к списку пользователей ('user_info.php')";
//echo "<BIG>Список зарегистрированых пользователей</BIG>

";
if (isset($_POST['okbutton']))
{

while ($line=mysql_fetch_row($data))
{

$tema_komu=$line[0];//name
$adress=$line[1]; //email
$text_pisma="
<html><head></head>
<body>
Уважаемый(ая),&nbsp ".$tema_komu."!
".$_POST['text']."
</body></html>";
$text_pisma=convert_cyr_string($text_pisma, 'w','k');
$headers="Content-Type: text/html; charset=KOI8-R\r\n";
$headers.="From: admin <admin@______.ua>\r\n\r\n";
mail($adress, $tema_komu, $text_pisma, $headers);

}


echo "

Ваше сообщение было разослано всем пользователям";
echo "
Отправить еще одно ('spam_pochta.php')";
//echo "
Вернуться ('users_info.php')";
//Выполнять больше нечего, выходим из программы
exit;
}
?>

<FORM action="" method="post">
Текст сообщения:

<textarea name="text" cols=40 rows=5></textarea>


<input type="submit" name="okbutton" value="Отправить">
</FORM>

Операционка - ХР.

Cayenne
05.12.2008, 00:06
А в атлуці логін пароль на цей смтп не прописуються ?
Може просто сервер требує аутентифікацію, а в настройках пхп/апач тільки адрес смтп

volant
05.12.2008, 00:18
Может быть, но в аутлуке никаких паролей на смтп не стоит. А в скрипте ошибок нет?

Cayenne
05.12.2008, 00:54
тоді просто зроби скрипт
<?
mail('to','subj','text');

?>

і подивись чи сработає, якщо да - шукай в скрипті, нє - шукай в мейлі

volant
05.12.2008, 02:57
не работает :(
Подкинули идею насчет программки "sendmail", но пока тоже не получается ее настроить. :(

Cayenne
05.12.2008, 03:22
даже не знаю, мож фаєрвол рубає ?

qwert
05.12.2008, 10:00
Попробуй прописать больше хидеров:
$headers = "Content-type: text/html\r\n";
$headers .= "From: <xxxx@x.ua>\r\n";
$headers .= "X-Priority: 1\r\n";
$headers .= "Reply-To: <xxxx@x.ua>\r\n";

volant
06.12.2008, 02:00
В общем после танцев с бубном все заработало. До сих пор в шоке т.к. поудалял все почтовые программы(сендмейл и т.п.). :shock:

Vladyslav
08.12.2008, 12:06
На будуюсчее... сначала отправляешь телнетом, дабы пробить порт и работоспособность сервера.

telnet your.smtp.com 25
helo your.smtp.com
ehlo your.smtp.com (памому так)
mail from: sender@adress.com
rcpt to: komu@adress.com
data
текст письма
.
quit
Проверяешь дошло ли. Если проблема на этапе telnet your.smtp.com 25 тада порт ;-)

volant
09.12.2008, 18:48
ПАосле "ehlo your.smtp.com (памому так)" выдает "502 unimplemented <#5.5.1>"

Vladyslav
09.12.2008, 23:24
Ну значит без эхло пробуй. Могут какие-то команды отсутствовать..