Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Проблема с почтой SMTP


Recommended Posts

Привет!

 

Проблема с почтой, запускаю скрипт:

<?php
require_once "Mail.php";
 
$from = "[email protected]";
$to = "[email protected]";
$subject = "Test email using PHP SMTP with SSL\r\n\r\n";
$body = "This is a test email message";
 
$host = "ssl://smtp.yandex.ru";
$port = "465";
$username = "[email protected]";
$password = "ПАРОЛЬ";
 
$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'port' => $port,
    'auth' => true,
    'username' => $username,
    'password' => $password));
 
$mail = $smtp->send($to, $headers, $body);
 
if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
} else {
  echo("<p>Message successfully sent!</p>");
}
?>

 

Сообщение приходит на указанный адрес при заказе товара, причем не знаю почему, но само сообщение дублируется с промежутком 1 минута. (это тоже проблема которую не могу решить).

 

Если настраиваю в админке ввожу те же данные:

 

Почтовый протокол: SMTP

Параметры функции майл: \r\n\r\n.    - тут пробовал без этого параметра тоже

SMTP Хост: ssl://smtp.yandex.ru

SMTP Логин: [email protected]

SMTP Пароль: ПАРОЛЬ

SMTP Порт: 465

SMTP Таймаут: 5

 

Но письмо не приходит :-(

 

Если ставлю не SMTP, а Mail, то письмо приходит, но из-за хостера  который дает хреновый IP скорого идет спам, его biz.mail.ru и connect.yandex.ru блокируют.

Приходиться настраивать SMTP.

 

OpenCart.pro Версия 2.1.0.2.2

 

Что может быть? Встречался кто с такой проблемой? 

 

 

Надіслати
Поділитися на інших сайтах


Сейчас в логе ошибка:

PHP Notice:  Error: MAIL FROM not accepted from server! in /home/katkond/public_html/system/library/mail.php on line 333

 

332     if (substr($reply, 0, 3) != 250) {
333 	trigger_error('Error: MAIL FROM not accepted from server!');
334		exit();
335		}

 

Надіслати
Поділитися на інших сайтах


Такая же проблема, настройки SMTP пробовал от маил ру и от хостера, при отправке сообщения из формы обратной связи, страница просто обновляется и остается пустой. Если в форме обратной связи указать имейл сайта, то сообщение отправляется, любой другой, сразу же пустая страница. Хостер ответил, что ошибка в public_html/system/library/mail.php:323

                if (substr($reply, 0, 3) != 250) {
                    throw new \Exception('Error: MAIL FROM not accepted from server!');
                }

ocStore 2.3.0.2.3

 

Оформление товара, покупка в 1 клик, заказ обратного звонка, это все работает, а вот обратная связь нет

Змінено користувачем Otis
Надіслати
Поділитися на інших сайтах


15 минут назад, Otis сказал:

Оформление товара, покупка в 1 клик, заказ обратного звонка, это все работает, а вот обратная связь нет

ошибка из-за того, что вы пытаетесь отправить письмо от имени другого пользователя
а это недопустимо

 

вот решение

 

Надіслати
Поділитися на інших сайтах


2 часа назад, thentru сказал:

ошибка из-за того, что вы пытаетесь отправить письмо от имени другого пользователя
а это недопустимо

 

вот решение

 

Заменил, не помогло.

 

Пробовал еще так - $mail->setFrom('[email protected]');

Тоже не помогло :-(

 

Надіслати
Поділитися на інших сайтах


49 минут назад, Otis сказал:

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

Хорошо если помогут, мне вот только сказали если скрипт работает, значит проблема не у нас, а в самом движке, так что смотрите движок.

Надіслати
Поділитися на інших сайтах


4 часа назад, Eandy сказал:

Заменил, не помогло.

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

Надіслати
Поділитися на інших сайтах


Ответ от поддержки:

Поправил заголовок отправителя в файле system/storage/modification/catalog/controller/information/contact.php и настроил отправку с помощью php mail().

 

Что именно поправлено в contact.php не знаю

 

Теперь в админке в настройках почты не SMTP, а Mail

Может пригодятся настройки:

 

Почтовый протоколMail

Параметры функции mail[email protected]

SMTP хостtls://smtp.beget.com

SMTP логин:  [email protected]

SMTP пароль:  ********

SMTP порт:  2525

SMTP таймаут:  10

 

Отправка работает без проблем, но в пришедших письмах в поле "от кого" почта сайта, а не пользователя который отправил сообщение.

 

 

Надіслати
Поділитися на інших сайтах


3 минуты назад, Otis сказал:

Поправил заголовок отправителя в файле system/storage/modification/catalog/controller/information/contact.php

причем они вам поправили в модификаторах
при обновлении правки "слетят"

Надіслати
Поділитися на інших сайтах


28 минут назад, thentru сказал:

причем они вам поправили в модификаторах
при обновлении правки "слетят"

Ну да, нужно будет иметь ввиду

 

Сравнил файл " contact.php " из бекапа

 

Строка 21

 

Было так:

            $mail->setFrom($this->request->post['email']);

 

Стало так:

            $mail->setFrom($this->config->get('config_email'));

 

В поддержке сказал на счёт поля "от кого" в письме, что почта сайта там, а не почта отправителя, ответ такой:

 

" Заголовки настроены таким образом, что в почтовом клиенте при нажатии кнопки “Ответить” письмо будет отправлено на ту почту, которую посетитель указал в форме. "

 

** Проверил, в почте при нажатии "Ответить" появляется поле для ответа и в поле "кому" почта отправителя сообщения, слава богу все работает. А то я уже думал забить на обратную связь, вместо нее просто поставить "живосайт"

Змінено користувачем Otis
Надіслати
Поділитися на інших сайтах


1 час назад, thentru сказал:

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

 

Попробовал почистить модификаторы, но результат тоже. Заглянул в папку с модификаторами, но там нет файла Contact.php

 

1337466048_2019-03-1522_59_22.png.96b5f0e312771ce1de628b2f6085c86f.png

Надіслати
Поділитися на інших сайтах


20 часов назад, Otis сказал:

Ответ от поддержки:

Поправил заголовок отправителя в файле system/storage/modification/catalog/controller/information/contact.php и настроил отправку с помощью php mail().

 

Что именно поправлено в contact.php не знаю

 

Теперь в админке в настройках почты не SMTP, а Mail

Может пригодятся настройки:

 

Почтовый протоколMail

Параметры функции mail[email protected]

SMTP хостtls://smtp.beget.com

SMTP логин:  [email protected]

SMTP пароль:  ********

SMTP порт:  2525

SMTP таймаут:  10

 

Отправка работает без проблем, но в пришедших письмах в поле "от кого" почта сайта, а не пользователя который отправил сообщение.

 

 

 

Добрый день, в итоге письма уходят через mail? а не через SMTP?

Надіслати
Поділитися на інших сайтах


В 16.03.2019 в 16:41, Eandy сказал:

Скажите^ можно как-то узнать письмо ушло через php или через SMTP?

Как это узнать я не знаю. Насчёт mail или SMTP,  думаю раз Почтовый протоколMail , то идёт через mail

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.