Posted 21 февраля, 20177 yr comment_123596 Здравствуйте! Поставил версию 4.1.18.2, и решил настроить отправку почты через SMTP. Столкнулся с проблемой. Данные от SMTP все верные, но при отправке "тестового" письма, вижу следующее IPS\Email\Outgoing\Exception: (0) #0 normalgame.ru/system/Email/Outgoing/Smtp.php(195): IPS\Email\Outgoing\_SMTP->connect() #1 normalgame.ru/system/Email/Outgoing/Smtp.php(180): IPS\Email\Outgoing\_SMTP->_sendCompiled('логин@yandex...', Array, 'MIME-Version: 1...') #2 normalgame.ru/applications/core/modules/admin/settings/email.php(169): IPS\Email\Outgoing\_SMTP->_send('логин@mail.r...', Array, Array, 'логин@yandex...') #3 normalgame.ru/system/Dispatcher/Controller.php(96): IPS\core\modules\admin\settings\_email->manage() #4 normalgame.ru/applications/core/modules/admin/settings/email.php(34): IPS\Dispatcher\_Controller->execute() #5 normalgame.ru/system/Dispatcher/Dispatcher.php(129): IPS\core\modules\admin\settings\_email->execute() #6 normalgame.ru/ngadmin/index.php(14): IPS\_Dispatcher->run() #7 {main} Может кто сталкивался с таким? Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/ Share on other sites Больше вариантов
21 февраля, 20177 yr comment_123597 зачем две темы то создавать... лаги... версия php ? скрин настроек в студию Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=123597 Share on other sites Больше вариантов
22 февраля, 20177 yr Author comment_123708 WOLF, прошу прощения. Видимо случайно создалась. Версия PHP: 7.0.15 (Режим работы пыха CGI) Настройки в скринах. Данные от почты (логин-пароль) верны на 100%. Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=123708 Share on other sites Больше вариантов
22 февраля, 20177 yr comment_123709 в яндексе все верно настроено? Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=123709 Share on other sites Больше вариантов
22 февраля, 20177 yr Author comment_123712 25 минут назад, WOLF сказал: в яндексе все верно настроено? Да. Более того, ранее использовалась такая же Email конфигурация, и всё работало. (Ранее - ещё на ранних версиях 4.1.x, пришлось на какое-то время уйти с IPS, вот заново с нуля накатил, и такая беда). Попробовал и с mail.ru, такая же история (При попытке отправить "тестовое" письмо). Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=123712 Share on other sites Больше вариантов
24 февраля, 20177 yr Author comment_123918 Пока что выявил, что косяк точно с версией PHP. Проверял сторонним скриптом, при PHP выше 5.5.38 почта перестает приходить через SMTP. Ниже - пожалуйста, всё приходит. В чём загвоздка - не знаю... P.S. Проверял на своей 7.0.15 и на 5.6.30 Заметил забавную штучку. Имеем скрипт отправки SMTP следующего вида <?php $config['smtp_username'] = 'логин@yandex.ru'; //Смените на адрес своего почтового ящика. $config['smtp_port'] = '465'; // Порт работы. $config['smtp_host'] = 'ssl://smtp.yandex.ru'; //сервер для отправки почты $config['smtp_password'] = 'пароль'; //Измените пароль $config['smtp_debug'] = true; //Если Вы хотите видеть сообщения ошибок, укажите true вместо false $config['smtp_charset'] = 'utf-8'; //кодировка сообщений. (windows-1251 или utf-8, итд) $config['smtp_from'] = 'Адрес'; //Ваше имя - или имя Вашего сайта. Будет показывать при прочтении в поле "От кого" function smtpmail($to='', $mail_to, $subject, $message, $headers='') { global $config; $SEND = "Date: ".date("D, d M Y H:i:s") . " UT\r\n"; $SEND .= 'Subject: =?'.$config['smtp_charset'].'?B?'.base64_encode($subject)."=?=\r\n"; if ($headers) $SEND .= $headers."\r\n\r\n"; else { $SEND .= "Reply-To: ".$config['smtp_username']."\r\n"; $SEND .= "To: =?".$config['smtp_charset']."?B?".base64_encode($to)."=?= <$mail_to>\r\n"; $SEND .= "MIME-Version: 1.0\r\n"; $SEND .= "Content-Type: text/html; charset=\"".$config['smtp_charset']."\"\r\n"; $SEND .= "Content-Transfer-Encoding: 8bit\r\n"; $SEND .= "From: =?".$config['smtp_charset']."?B?".base64_encode($config['smtp_from'])."=?= <".$config['smtp_username'].">\r\n"; $SEND .= "X-Priority: 3\r\n\r\n"; } $SEND .= $message."\r\n"; if( !$socket = fsockopen($config['smtp_host'], $config['smtp_port'], $errno, $errstr, 30) ) { if ($config['smtp_debug']) echo $errno."<br>".$errstr; return false; } if (!server_parse($socket, "220", __LINE__)) return false; fputs($socket, "HELO " . $config['smtp_host'] . "\r\n"); if (!server_parse($socket, "250", __LINE__)) { if ($config['smtp_debug']) echo '<p>Не могу отправить HELO!</p>'; fclose($socket); return false; } fputs($socket, "AUTH LOGIN\r\n"); if (!server_parse($socket, "334", __LINE__)) { if ($config['smtp_debug']) echo '<p>Не могу найти ответ на запрос авторизаци.</p>'; fclose($socket); return false; } fputs($socket, base64_encode($config['smtp_username']) . "\r\n"); if (!server_parse($socket, "334", __LINE__)) { if ($config['smtp_debug']) echo '<p>Логин авторизации не был принят сервером!</p>'; fclose($socket); return false; } fputs($socket, base64_encode($config['smtp_password']) . "\r\n"); if (!server_parse($socket, "235", __LINE__)) { if ($config['smtp_debug']) echo '<p>Пароль не был принят сервером как верный! Ошибка авторизации!</p>'; fclose($socket); return false; } fputs($socket, "MAIL FROM: <".$config['smtp_username'].">\r\n"); if (!server_parse($socket, "250", __LINE__)) { if ($config['smtp_debug']) echo '<p>Не могу отправить комманду MAIL FROM: </p>'; fclose($socket); return false; } fputs($socket, "RCPT TO: <" . $mail_to . ">\r\n"); if (!server_parse($socket, "250", __LINE__)) { if ($config['smtp_debug']) echo '<p>Не могу отправить комманду RCPT TO: </p>'; fclose($socket); return false; } fputs($socket, "DATA\r\n"); if (!server_parse($socket, "354", __LINE__)) { if ($config['smtp_debug']) echo '<p>Не могу отправить комманду DATA</p>'; fclose($socket); return false; } fputs($socket, $SEND."\r\n.\r\n"); if (!server_parse($socket, "250", __LINE__)) { if ($config['smtp_debug']) echo '<p>Не смог отправить тело письма. Письмо не было отправленно!</p>'; fclose($socket); return false; } fputs($socket, "QUIT\r\n"); fclose($socket); return TRUE; } function server_parse($socket, $response, $line = __LINE__) { global $config; while (@substr($server_response, 3, 1) != ' ') { if (!($server_response = fgets($socket, 256))) { if ($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response<br>$line<br>"; return false; } } if (!(substr($server_response, 0, 3) == $response)) { if ($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response<br>$line<br>"; return false; } return true; } ?> Этим скриптом я запускаю отправку на свою почту данных из формы обратной связи <?php include_once('sendmail.php'); include_once('/index.html'); $name = $_POST['name']; $mail = $_POST['mail']; $mobnumber = $_POST['mobnumber']; $name = htmlspecialchars($name); $mail = htmlspecialchars($mail); $mobnumber = htmlspecialchars($mobnumber); $name = urldecode($name); $mail = urldecode($mail); $mobnumber = urldecode($mobnumber); $name = trim($name); $mail = trim($mail); $mobnumber = trim($mobnumber); smtpmail('адрес@mail.ru', 'адрес@mail.ru', 'Информация', '<html><body><p>Имя: '.$name.'</p><p>Почта: '.$mail.'</p><p>Телефон: '.$mobnumber.'</p></body></html>'); header('REFRESH: 3; URL=http://site.ru/'); echo 'Тут мой текст, который выведется на "пустую" страницу, с которой через 3 секунды произойдет редирект обратно на site.ru'; ?> Так вот при версиях PHP ниже 5.5.38, всё было как положено, нажимаем на кнопку отправки данных, нас перебрасывает на "пустую" страничку с надписью "Тут мой текст, который выведется на "пустую" страницу, с которой через 3 секунды произойдет редирект обратно на site.ru", а после через 3 секунды меня перебрасывает на site.ru, и сваливается письмо на адрес. При версиях PHP выше происходит примерно то же самое, но на "пустой" страничке текст отображается вот так: 0 Тут мой текст, который выведется на "пустую" страницу, с которой через 3 секунды произойдет редирект обратно на site.ru Ну и соответственно редирект, но без письма. Почему так происходит - не знаю. Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=123918 Share on other sites Больше вариантов
24 февраля, 20177 yr comment_123921 если виной версия PHP пробуйте отписать хостеру, возможно он в настройках PHP не выставил некоторые значения, объясните ситуацию, может он выставит все тоже самое что и в версии 5.5 на 5.6 и 7.0 Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=123921 Share on other sites Больше вариантов
28 февраля, 20177 yr Author comment_124205 WOLF, сайты на VPS стоят. Начиная с версии PHP 5.6 идет проверка сертификатов при SSL/TLS подключениям. Решением оказалось обновить корневые сертификаты до последней версии (от igft). P.S. Спасибо ТехПоддержке) Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=124205 Share on other sites Больше вариантов
27 ноября, 20176 yr comment_140095 Что делать? ошибка IPS\Email\Outgoing\Exception: (0) Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=140095 Share on other sites Больше вариантов
28 ноября, 20176 yr comment_140104 3 часа назад, Dancebunny сказал: Что делать? ошибка IPS\Email\Outgoing\Exception: (0) Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=140104 Share on other sites Больше вариантов
28 ноября, 20176 yr comment_140111 Пишет что сообщение отправлено, но его нету .... Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=140111 Share on other sites Больше вариантов
28 ноября, 20176 yr comment_140118 2 часа назад, Dancebunny сказал: Пишет что сообщение отправлено, но его нету .... Не нужно флудить в каждой теме, один раз написала и все. По вопросу,смотри на почте в спаме Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=140118 Share on other sites Больше вариантов
28 ноября, 20176 yr comment_140135 4 часа назад, WOLF сказал: Не нужно флудить в каждой теме, один раз написала и все. По вопросу,смотри на почте в спаме Там нету ничего.... Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=140135 Share on other sites Больше вариантов
26 мая, 20186 yr comment_148126 Как и вышеотписавшиеся не могу настроить должным образом отправку почты. Пробное письмо не отправляется. Учётные записи для отправки почты точно верны и перепроверены несколько раз. IPS 4.3.3, PHP 7.2.3, Apache 2.4.29 Unix, Linux Storage 4.2.8. Пробовал и обычный PHP способ настраивать, тоже не вышло. Но нужен SMTP. Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=148126 Share on other sites Больше вариантов
26 мая, 20186 yr comment_148127 Владимир на название темы не смотри, там 5 страниц, уже на второй начали решать проблему с почтой. Возможно на моем примере решишь проблему. Все ветки перечитай ибо уже не вспомню что делал) Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=148127 Share on other sites Больше вариантов
26 мая, 20186 yr comment_148140 2 часа назад, Megalex сказал: Владимир на название темы не смотри, там 5 страниц, уже на второй начали решать проблему с почтой. Возможно на моем примере решишь проблему. Все ветки перечитай ибо уже не вспомню что делал) Насколько я понял, в теме обсуждался pop (т.е. входящие сообщения)? Проверил по такому же подходу, сохраняются ли настройки для smtp в БД - всё сохраняется, всё верно. Или же это неким образом связанные и влияющие друг на друга вещи? Т.к. для pop у меня в БД действительно не заданы никакие значения Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=148140 Share on other sites Больше вариантов
27 мая, 20186 yr comment_148146 У вас в настройках яндекса, стоит прием писем или отправка? Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=148146 Share on other sites Больше вариантов
27 мая, 20186 yr comment_148147 И проверьте, ли у вас все модули в системе установлены, PHP Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=148147 Share on other sites Больше вариантов
27 мая, 20186 yr comment_148153 2 часа назад, Emix12 сказал: У вас в настройках яндекса, стоит прием писем или отправка? У меня на NAS уже есть учётка от яндекса, через которую он отправляет письма, там всё работает. На ips я выставляю другую учётку с того же домена на яндексе. Более того, если указать недостоверный SMTP в настройках IPS, то выскакивает ошибка таймаута. Т.е. всё-таки при правильных настройках он пытается что-то выполнить. Вход через саму учётку на яндексе работает. Письма с учётки так же отправляются без вопросов. 2 часа назад, Emix12 сказал: И проверьте, ли у вас все модули в системе установлены, PHP Более подробно, какие модули проверять? Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=148153 Share on other sites Больше вариантов
27 мая, 20186 yr comment_148173 9 часов назад, Владимир сказал: У меня на NAS уже есть учётка от яндекса, через которую он отправляет письма, там всё работает. На ips я выставляю другую учётку с того же домена на яндексе. Более того, если указать недостоверный SMTP в настройках IPS, то выскакивает ошибка таймаута. Т.е. всё-таки при правильных настройках он пытается что-то выполнить. Вход через саму учётку на яндексе работает. Письма с учётки так же отправляются без вопросов. Более подробно, какие модули проверять? Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=148173 Share on other sites Больше вариантов
27 мая, 20186 yr comment_148176 10 часов назад, Владимир сказал: У меня на NAS уже есть учётка от яндекса Да что ты заладил про свой NAS, да NAS... Да хоть на серверах гугл у тебя пусть стоит сайт. Или у тебя прям сервак Яндекса в твоем NAS хранится... В настройках почты ПРЯМО В ЯНДЕКСЕ, посмотри чтобы включены были протоколы по приему/отправке почты. Так же DNS яндекса должны быть добавлены с правильными значениями (A / AAAA / MX / SRV / TXT / CNAME / SOA) в настройках конфигурации DNS прямо на сервере. Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=148176 Share on other sites Больше вариантов
27 мая, 20186 yr comment_148177 44 минуты назад, Emix12 сказал: Всё подключено, всё зелёное. 16 минут назад, Megalex сказал: Да что ты заладил про свой NAS, да NAS... Да хоть на серверах гугл у тебя пусть стоит сайт. Или у тебя прям сервак Яндекса в твоем NAS хранится... В настройках почты ПРЯМО В ЯНДЕКСЕ, посмотри чтобы включены были протоколы по приему/отправке почты. Так же DNS яндекса должны быть добавлены с правильными значениями (A / AAAA / MX / SRV / TXT / CNAME / SOA) в настройках конфигурации DNS прямо на сервере. Я это к тому, что если бы с яндексом было что-то не так, то он уведомления с NAS не приходили бы. Всё это давным давно настроено. Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=148177 Share on other sites Больше вариантов
27 мая, 20186 yr comment_148182 1. Выполни: sudo apt-get install php-pear sudo pear install -o Mail sudo pear install -o Net_SMTP sudo pear install -o Auth_SASL sudo pear install -o mail_mime 2. Попробуй кастомно отправить сообщение: // Pear Mail Library require_once "Mail.php"; $from = '<ete>'; $to = '<te'; $subject = 'Hi!'; $body = "Hi,\n\nHow are you?"; $headers = array( 'From' => $from, 'To' => $to, 'Subject' => $subject ); $smtp = Mail::factory('smtp', array( 'host' => 'ssl://smtp.yandex.ru', 'port' => '465', 'auth' => true, 'username' => 'user', 'password' => 'password' )); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo('<p>' . $mail->getMessage() . '</p>'); } else { echo('<p>Message successfully sent!</p>'); } Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=148182 Share on other sites Больше вариантов
29 мая, 20186 yr comment_148278 В 28.05.2018 в 00:02, Emix12 сказал: 1. Выполни: sudo apt-get install php-pear sudo pear install -o Mail sudo pear install -o Net_SMTP sudo pear install -o Auth_SASL sudo pear install -o mail_mime Установка новых программ на NAS это целое дело. Он урезан в командах, никаких apt-get, pear и прочих нет. Есть только wget, да и то, непонятно как потом скачанное установить. Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=148278 Share on other sites Больше вариантов
29 мая, 20186 yr comment_148279 NAS использовать под хост. не благодарное дело. Link to comment https://ipbmafia.ru/topic/16720-ne-otpravlyaet-pochtu-cherez-smtp/?&do=findComment&comment=148279 Share on other sites Больше вариантов
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.