Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Отправка почты
 
 автор: Ванек2010   (29.11.2010 в 17:09)   письмо автору
 
 

Вообщем бред какой-то целый день не могу разобраться что не так.
Ситуация: Сайт находится на своей машине, НС записи берутся у 1gb.ru.
На 1gb.ru завел почту под доменом.
Захожу на свой сайт(который расположен на моей машине повторяю) в настройках php.ini
 [mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp-56.1gb.ru
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = *****@*****.ru

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path = "\xampp\sendmail\sendmail.exe -t"

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = Off

; Log all mail() calls including the full path of the script, line #, to address and headers
;mail.log = "C:\xampp\apache\logs\php_mail.log"

В настройках sendmail.ini:
; конфигурационный файл sendmail

[sendmail]

; здесь укажите сервер исходящей почты
smtp_server=smtp-56.1gb.ru


; порт smtp, если обычный режим отправки, то порт будет 25
; если сервер работает в защищенном режиме (TLS), то порт 465, например почта гугла работает через 465 порт

smtp_port=25

; домен по умолчанию (совсем не обязательно) 

;default_domain=local

; лог ошибок

error_logfile=error.log

; лог отправки, необходим на стадии тестирования. содержит весь текст переговоров с сервером при отправке.

debug_logfile=debug.log

; Если smtp сервер с авторизацией, укажите логин пароль(без кавычек), если без авторизации ничего не пишите

auth_username=usersss
 
auth_password=123456

; если перед отправкой почты сервер требует авторизацию через POP, заполните эти поля

;pop3_server=
;pop3_username=
;pop3_password=

; email адрес, от которого идет отправка, вставится в заголовок "From: "
; если отправка писем идет через mail.ru, здесь обязательно должен быть адрес, через который произведена авторизация. 

force_sender=*****@*****.ru

; хост, который указывается при авторизации в команде ehlo/helo
; указывайте домен, через который авторизуетесь 

hostname=smtp-56.1gb.ru

Сам файл mail.php
<?php
if(substr(PHP_OS03) == "WIN")
        
$n "\r\n";
        else
        
$n "\n";
         
   
$to "polu4atel@yandex.ru";      
   
$from '*****@*****.ru';
   
$subject 'Добро пожаловать';
   
$subject '=?windows-1251?b?'base64_encode($subject) .'?=';
   
$headers 'Content-type: text/plain; charset=windows-1251\r\n'$n;
   
$headers .= 'From: <'$from .'>'$n;
   
$headers .= 'MIME-Version: 1.0'$n;
   
$headers .= 'Date: 'date('D, d M Y h:i:s O') . $n;
   
$message 'Hello proverka 22222';
  

$mail_result  mail($to$subject$message$headers'-f'$from ); 
if(
$mail_result == true) { echo "Успешно отправлено!";}
?>

Ошибка такая
Warning: mail() [function.mail]: SMTP server response: 553 We do not relay without RFC2554 authentication. in
Порты открыты в фаерволе. Пробывал даже через фаервол отправить все получается на любой email. А пхп не хочет. Еще удивительно то, что на свой же ящик(*****@*****.ru) отправляет, а на любой другой нет. Убрал папку sendmail вообще, и всеравно на свой отправляет а на любой другой нет. У меня такое подозрение, что не работает авторизация, тоесть сам sendmail.
Операционка стоит Windows Server SP 2 x64
Буду благодарен за помощь!
И скажите почему логи по почте не ведутся?

  Ответить  
 
 автор: Trianon   (29.11.2010 в 17:37)   письмо автору
 
   для: Ванек2010   (29.11.2010 в 17:09)
 

У Вас sendmail вообще задействован?
Адрес сервера указан чаще чем следовало. Бы.

Понятно, что сервер письма для собственных адресов обязан брать и без аутентификации.
Поэтому частный случай и проходит.

  Ответить  
 
 автор: Ванек2010   (29.11.2010 в 17:49)   письмо автору
 
   для: Trianon   (29.11.2010 в 17:37)
 

Видимо что не задействован. Блин точно ; не убрал.

  Ответить  
 
 автор: Ванек2010   (29.11.2010 в 18:04)   письмо автору
 
   для: Ванек2010   (29.11.2010 в 17:49)
 

В error.log
10.11.29 18:00:25 : We do not relay without RFC2554 authentication.<EOL>

  Ответить  
 
 автор: Trianon   (29.11.2010 в 18:10)   письмо автору
 
   для: Ванек2010   (29.11.2010 в 18:04)
 

с постмастером почтового сервера решать надо, почему аутентификация/доставка не идет.

  Ответить  
 
 автор: Ванек2010   (29.11.2010 в 18:18)   письмо автору
 
   для: Trianon   (29.11.2010 в 18:10)
 

Это в debug.txt
10.11.29 18:13:01 ** --- MESSAGE END ---
10.11.29 18:13:01 ** Connecting to smtp-56.1gb.ru:25
10.11.29 18:13:01 ** Connected.
10.11.29 18:13:01 << 220 mail.1gb.ru ESMTP server ready.<EOL>
10.11.29 18:13:01 >> EHLO *****.ru<EOL>
10.11.29 18:13:01 << 250-mail.1gb.ru Hello *****.ru; ESMTPs are:<EOL>250-TIME<EOL>
10.11.29 18:13:01 ** Authenticating as *****@*****.ru
10.11.29 18:13:01 >> MAIL FROM: <******@******.ru><EOL>
10.11.29 18:13:01 << 250-SIZE 0<EOL>250-AUTH CRAM-MD5 LOGIN<EOL>250-AUTH=LOGIN<EOL>250 HELP<EOL>
10.11.29 18:13:01 >> RCPT TO: <polu4atel@yandex.ru><EOL>
10.11.29 18:13:02 << 250 Sender OK - send RCPTs.<EOL>
10.11.29 18:13:02 >> DATA<EOL>
10.11.29 18:13:02 << 553 We do not relay without RFC2554 authentication.<EOL>
10.11.29 18:13:02 ** Disconnecting from smtp-56.1gb.ru:25
10.11.29 18:13:02 ** Disconnected.
10.11.29 18:13:02 ** Disconnected.
10.11.29 18:13:02 ** We do not relay without RFC2554 authentication.<EOL>

  Ответить  
 
 автор: Ванек2010   (29.11.2010 в 19:02)   письмо автору
 
   для: Trianon   (29.11.2010 в 18:10)
 

Почему токгда через Kerio Winroute получается отправить тест сообщение на любую почту?

  Ответить  
 
 автор: Trianon   (29.11.2010 в 19:07)   письмо автору
 
   для: Ванек2010   (29.11.2010 в 19:02)
 

а он тоже настроен на релей через smtp-56.1gb.ru?

  Ответить  
 
 автор: Ванек2010   (29.11.2010 в 19:25)   письмо автору
 
   для: Trianon   (29.11.2010 в 19:07)
 

Да, вот скриншот прилагается.
http://www.valar.ru/upload/jpg/1110/smtpkerio22.htm

  Ответить  
 
 автор: Ванек2010   (29.11.2010 в 20:08)   письмо автору
 
   для: Ванек2010   (29.11.2010 в 19:25)
 

Чет я не понял как это сделать http://www.oris.orel.ru/faq/post.html
Кроме того, в свойствах учетной записи в разделе серверы (Servers) надо включить параметр: "Проверка подлинности пользователя" (My server requires a authentication). Настраивать его не требуется, достаточно всего лишь поставить галочку в Настройках (Settings) на параметр "Как на сервер входящей почты" (Use same settings as my incoming mail server).

  Ответить  
 
 автор: Trianon   (29.11.2010 в 21:23)   письмо автору
 
   для: Ванек2010   (29.11.2010 в 20:08)
 

Тут (на этом самом oris.orel) показано, как клиент настраиваеть.
У клиента credentials на получение почты и на отправку почты обычно совпадают.
У Вас же настраивается транспортная часть сервера (kerio или sendmail - неважно) .
Естественно, credentials необходимо прописать, при чем так, как требует релей (в Вашем случае smtp-56.1gb.ru)

Вот в этом месте дампа 10.11.29 18:13:01 ** Authenticating as *****@*****.ru по идее должен следовать диалог аутентификации.

Там, кстати, вообще наблюдается какое-то бешенное непонимание сервера клиентом.
Сервер не успел ответ полностью перечислить, клиент уже команды кидает, при чем не те, что сервер ждет.

Похоже на кривую версию транспорта.

На самом деле, всё должно было выглядеть как-то так:
10.11.29 18:13:01 << 220 mail.1gb.ru ESMTP server ready.<EOL>
10.11.29 18:13:01 >> EHLO *****.ru
10.11.29 18:13:01 << 250-mail.1gb.ru Hello *****.ru; ESMTPs are:<EOL>
10.11.29 18:13:01 << 250-TIME
10.11.29 18:13:01 << 250-SIZE 0
10.11.29 18:13:01 << 250-AUTH CRAM-MD5 LOGIN
10.11.29 18:13:01 << 250-AUTH=LOGIN
10.11.29 18:13:01 << 250 HELP
10.11.29 18:13:01 >> AUTH LOGIN
10.11.29 18:13:01 << 334 VXNlcm5hbWU6 
10.11.29 18:13:01 >> здесь закодированный логин пользователя
10.11.29 18:13:01 << 334 UGFzc3dvcmQ6
10.11.29 18:13:01 >> здесь закодированный пароль пользователя
10.11.29 18:13:01 << 235 Authentication succeeded
10.11.29 18:13:01 >> MAIL FROM: <******@******.ru>
10.11.29 18:13:02 << 250 Recepient OK - send SENDER.
10.11.29 18:13:01 >> RCPT TO: <polu4atel@yandex.ru>
10.11.29 18:13:02 << 250 Sender OK - send RCPTs.
10.11.29 18:13:02 >> DATA
ну и так далее...

  Ответить  
 
 автор: Ванек2010   (29.11.2010 в 22:23)   письмо автору
 
   для: Trianon   (29.11.2010 в 21:23)
 

Еще появляется файл crash.txt в sendmail.
Хотя Outlook работает как надо пробывал.. и керио тоже. Странно нифига не пойму
Может это из-за Windows Server SP2 x64 разрядная?

  Ответить  
 
 автор: Pohaval   (22.04.2016 в 14:41)   письмо автору
 
   для: Ванек2010   (29.11.2010 в 18:04)
 

553 We do not relay without RFC2554 authenticationrnПри появлении такой лабуды просто поставил галочку в настройке учетной записи во вкладке другие настройки (сервер исходящей почты) SMTP - серверу требуется проверка подлинности, аналогично серверу для входящей почты. И все стало гуд)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования