Ошибка отправки e-mail с хостинга NIC.ru

Аватар пользователя pmahome pmahome 23 января 2011 в 10:49

Уважаемые специалисты!
Друпал сайт стоит на хостинге NIC.ru
Уже несколько дней не могу решить проблему отправку e-mail с сайта на хосте через mail.nic.ru.
Техподдержка хостинга отказала в консультации т.к. по работе на DRUPAL - не их ответственность.
Перечитал все форумы,попробовал опубликованные советы, а именно:
1. Пробовал отправку писем непосредственно из под DRUPAL.
Поправил файл mail.inc
( // The email might not be sent properly if the subject field
// contains newline characters. see http://drupal.org/node/84883.
str_replace("\n", ' ', mime_header_encode($message['subject'])),
// Note: e-mail uses CRLF for line-endings, but PHP's API requires LF.
// They will appear correctly in the actual e-mail that is sent.
str_replace("\r", '', $message['body']), )

В include.inc, the mime_header_encode function, поправил $chunk_size = 400;

Имеем:
warning: mail() [function.mail]: Could not execute mail delivery program '/usr/sbin/sendmail -t -i ' in /home/hostname/saitname.ru/docs/includes/mail.inc on line 202.
Не удается отправить почту. Пожалуйста, свяжитесь с администратором сайта, если эта проблема сохраняется.

2. Установил SMTP-6.x-1.0-beta5 + phpMailer v2.2.1 c патчем class.phpmailer.zip
Я настроил SMTP на имя сервера: mail.nic.ru
Порт указал 25-й ,также (2525) Логин - имя почтового ящика, Пароль.
Использовать зашифрованный протокол: нет
этот ящик добавил в списки доверенных получателей/отправителей на mail.nic.ru.

Имеем:
Порт 25

SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "220 fcgp03.nicmail.ru
ESMTP CommuniGate Pro 5.2.3. " SMTP -> get_lines(): $data is "220 fcgp03.nicmail.ru
ESMTP CommuniGate Pro 5.2.3. " SMTP -> FROM SERVER: 220 fcgp03.nicmail.ru
ESMTP CommuniGate Pro 5.2.3. SMTP -> get_lines(): $data was ""
SMTP -> get_lines(): $str is "250-fcgp03.nicmail.ru your name is not www.saitname.ru

" SMTP -> get_lines(): $data is "250-fcgp03.nicmail.ru your name is not www.saitname.ru
" SMTP -> get_lines(): $data was "250-fcgp03.nicmail.ru your name is not www.saitname.ru
" SMTP -> get_lines(): $str is "250-DSN " SMTP -> get_lines(): $data is "250-fcgp03.nicmail.ru
your name is not www.saitname.ru

Порт 2525

SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "220 fcgp04.nicmail.ru ESMTP CommuniGate Pro 5.2.3. " SMTP -> get_lines(): $data is "220 fcgp04.nicmail.ru ESMTP CommuniGate Pro 5.2.3. " SMTP -> FROM SERVER: 220 fcgp04.nicmail.ru ESMTP CommuniGate Pro 5.2.3. SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "250-fcgp04.nicmail.ru .....

Порт 80

SMTP -> FROM SERVER: SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "HTTP/1.0 400 Bad Request " .....

Опыта в отладке на этом уровне и программировании на php - нет.

НУЖНА ВАША помощь!
Спасибо всем.

Комментарии

Аватар пользователя vitg vitg 13 декабря 2011 в 21:17

Во-первых, верните стандартный код ядра.

"pmahome" wrote:
Опыта в отладке на этом уровне и программировании на php - нет.

Тем более не копайте ядре пока.

"pmahome" wrote:
warning: mail() [function.mail]: Could not execute mail delivery program '/usr/sbin/sendmail -t -i ' in /home/hostname/saitname.ru/docs/includes/mail.inc on line 202.

У меня один из сайтов на этом хостинге. Какой из тарифов взяли? Посмотрите в админке использование оперативной памяти в момент отправки письма. Мне техподдержка ответила, что эта ошибка возникает из-за нехватки оперативы.

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

По модулю smtp. У меня нормально работает даже на локалхосте, где почтового демона нет. www.sitename.ru вы специально заменили? Или это именно то, что выдает отладка? Попробуйте любой другой внешний SMTP-сервер для теста, хотябы тот, на котором у вас уже есть почта.

Аватар пользователя cosmos cosmos 16 декабря 2011 в 1:12

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

Аватар пользователя bsyomov bsyomov 16 декабря 2011 в 1:46

Какая нафиг память?! Smile
SMTP -> get_lines(): $str is "250-fcgp03.nicmail.ru your name is not www.saitname.ru
Вы пытаетесь отправить письмо с from отличным от вашего почтового ящика, в который вы логинитесь.
Создайте нужный ящик, или измените адрес, от которого посылаете письмо.

На вашем сервере, вообще говоря, MTA вообще не нужен, используйте phpmailer, работайте напрямую с внешним SMTP сервером.