Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
maratoriy

Отправка почты через SMTP сервер

Рекомендованные сообщения

Добрый день.

Я сталкнулся с такой проблемой:

я хочу, чтобы все уведомления на имейл с форума отправлялись не через хостинг, а через сторонний почтовый сервер (например mail.ru). Я зарегистрировался на biz.mail.ru, настроил домен в соотсветствии с описанием.

Я прописал в админке форума в настройках имейла все, что нужно. Но как только я меняю Метод отправки почты с PHP на SMTP сообщения вообще не отправляются, появляется окно ввода сообщения, но кнопка "отправить" не нажимается.

Когда же стоит PHP, всё нормально отправляется, но через хостинг, а нужно, чтобы через сторонний сервер.

Просьба помочь разобраться. Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение

Что значит не нажимается? При нажатие не происходит никаких действий? Тогда возможно во время выполнения скрипта произошла ошибка. Смотрите еррор ошибки сервера и логи о отправки почты в ац форума.

Поделиться сообщением


Ссылка на сообщение

В ац в журнале ошибок имейл сообщений написано:

Could not open a socket to the SMTP server (110:Время ожидания соединения истекло)

Что это значит и как это исправить?

Поделиться сообщением


Ссылка на сообщение

Всё сделал как в инструкции (и раньше так делал), но итог тот же: когда в открывшемся окне сообщения нажимаю кропку "отправить" - ничего не происходит и само окно не исчезает, как бывает, когда сообщение отправляется.

Поделиться сообщением


Ссылка на сообщение

Если есть ошибка значит не правильно настроили, в ошибке об этом конкретно сказанно.

Обратите внимание по какому протоколу работает smtp сервер. Для защищенного соединения нужно указать tls:// или ssl:// перед сервером. Работа почты проверяется в АЦ соответствующей функцией - проверка почты.

Поделиться сообщением


Ссылка на сообщение

Спасибо, помогло

Поделиться сообщением


Ссылка на сообщение

Добрый день. Появилась новая проблема.

Когда отправка почты заработала я пользовался smtp.yandex.ru, но пришлось от него отказаться, я зарегил акк на mail.ru, сделал всё точно так же, как в яндексе, но при отправке писем мне выдаёт ошибку Password not accepted from the server

501 501 Syntactically invalid HELO argument(s) .

Я пробывал менять HELO на EHLO - не помогло.

Как это исправить?

Поделиться сообщением


Ссылка на сообщение

Прежде чем делать, сперва нужно прочитать документацию smtp сервера. http://ipbskins.ru/forum/topic14312.html#entry95795

 

По поводу ошибки гугл говорит что проблема может быть из-за хостнейма сервера. Обратитесь к своему хостеру.

Поделиться сообщением


Ссылка на сообщение

Порт - 25

Адрес сервера SMTP - smtp.mail.ru (шифрование не поддерживается, протокол указывать не нужно)

 

Порт - 465

Адрес сервера - tls://smtp.mail.ru (работать, скорее всего, не будет. проблемы с аутентификацией у движка)

Поделиться сообщением


Ссылка на сообщение

Сервер я указал tls://smtp.mail.ru, т.к. если без tls:// тогда при нажатии на кнопку отправить сообщение ничего не происходит и окно сообщения не изчезает.

Можно уточнить, что за хостнейм сервера и где его посмотреть??

Поделиться сообщением


Ссылка на сообщение
работать, скорее всего, не будет. проблемы с аутентификацией у движка

Не слышал про каких-то проблем с аутентификации смтп у движка. Раз у яндекса работает не думаю что проблема в нем.

Поделиться сообщением


Ссылка на сообщение

А я слышал и давно, да и здесь это было, про проблемы у всей третьей линейки конкретно c mail.ru и inbox.ua

Поделиться сообщением


Ссылка на сообщение

а какие есть альтернатива, кроме яндекса и мейла? с gmail я пробывал, там та же ошибка, что и на mail.ru

Поделиться сообщением


Ссылка на сообщение
А я слышал и давно, да и здесь это было, про проблемы у всей третьей линейки конкретно c mail.ru и inbox.ua

Проблема smtp авторизации на mail.ru действительно есть. Согласно RFC в EHLO (HELO) нужно указать имя хоста откуда происходит запрос. В запросе EHLO прописано имя smtp сервера и, хотя это не соответствует стандарту, проблема на самом деле заключается в том, что хост содержит протокол с которым в команде EHLO он не валидный, поэтому майл не принимает авторизацию.

 

220 smtp8.mail.ru ESMTP ready
> EHLO ssl://smtp.mail.ru
250-smtp8.mail.ru
250-SIZE 73400320
250-8BITMIME
250-PIPELINING
250 AUTH PLAIN LOGIN XOAUTH2
> AUTH LOGIN
334 VXNlcm5hbWU6
> dGVzdA==
334 UGFzc3dvcmQ6
> dGVzdA==
501 Syntactically invalid EHLO argument(s)

 

Исправить это можно в /ips_kernel/classEmail.php

 

$this->_smtpSendCmd( "{$this->smtp_helo} " . $this->smtp_host );

Заменив на:

 

$this->_smtpSendCmd( "{$this->smtp_helo} " . str_replace( array( 'ssl://', 'tls://' ), '', $this->smtp_host ) );

Или на: (согласно RFC2821)

 

$this->_smtpSendCmd( "{$this->smtp_helo} " . $_SERVER['SERVER_NAME'] );

 

Кроме того, mail.ru требует чтобы адрес отправителя (Email адрес для поля От) был из его зоны.

 

> MAIL FROM:no-reply@ipbskins.ru
550 not local sender over smtp

  • Upvote 2

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...