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

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


Recommended Posts

Доброго времени суток!

Недавно заметил, что после заполнения данных клиента при подтверждении заказа стала возникать ошибка: "Подтвердите действие на странице ... error"
В консоли при этом GET https://gekkoton.com/index.php?route=extension/payment/cod1/confirm&_=1654764620819 500 jquery-2.1.1.min.js:4
Проблему обнаружил 8 июня. До этого заказы приходили исправно, по крайней мере до 6 июня.

Opencart 3.0.2. Установлен модуль simple.

Суть проблемы, вероятно, заключается в работе с почтой gmail по SMTP протоколу. Если переключить на MAIL-протокол - то все работает без ошибок.
При этом в настройках почты последние несколько месяцев ничего не менялось, да и в целом никаких новых модификаторов или настроек на сайте не производилось.

Вспомнил, что было уведомление от Google о том, что с 30 мая прекращается поддержка "небезопасных" приложений. В информации от Google предлагалось в качестве опции работа через "пароль для приложения". Я сформировал такой пароль, прописал в настройках Opencart - не помогло: через протокол mail работает, через smtp - та же ошибка.

Отправка писем через протокол mail приводит к тому, что письмо многими почтовыми серверами, и в частности Gmail, расценивается, как Spam. На моей стороне - не проблема, можно добавить в исключения, а вот клиенты подтверждения заказов не получают.

Что можете посоветовать, чтобы добиться работоспособности через smtp протокол?

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


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

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

09.06.2022 в 16:29, Hraesvelg сказал:

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

Давно перестал бороться с гуглом. Я использую godaddy - это платно, но не дорого, еще есть zoho - тоже платно, тоже не дорого, но лично мне не понравилось.

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


09.06.2022 в 17:57, pawana сказал:

Давно перестал бороться с гуглом

А не нужно "бороться". Создать почту на хостинге и прописать ее параметры в опенкарт. То есть использовать smtp-протокол непосредственно на хостинге.

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

09.06.2022 в 16:29, Hraesvelg сказал:

Что можете посоветовать, чтобы добиться работоспособности через smtp протокол?

 

Что по настройкам в админке? Какой стоит емейл в настройках, там где указан емейл системы? Это на вкладке "Витрина" настроек

Настройки вот такие рабочие https://screenrec.com/share/4DoAp52KZG

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

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

все работает с тычка...

https://support.google.com/accounts/answer/185833?hl=ru

читаем Как создать и использовать пароли приложений

и затем полученный пароль приложения присвоить SMTP_GOOGLE_PASS

 

function wrap_mail($to, $subject, $msg)
{
    $mail = new Mail();
    $mail->protocol = 'smtp';
    $mail->parameter = '';
    $mail->smtp_hostname = 'ssl://smtp.gmail.com';
    $mail->smtp_username = SMTP_GOOGLE_EMAIL;
    $mail->smtp_password = SMTP_GOOGLE_PASS;
    $mail->smtp_port = '465';
    $mail->smtp_timeout = 5;
         
    $mail->setTo($to);
    $mail->setFrom(SMTP_GOOGLE_EMAIL);
    $mail->setSender(html_entity_decode(SITE_NAME, ENT_QUOTES, 'UTF-8'));
    $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));
    $mail->setText(html_entity_decode($msg, ENT_QUOTES, 'UTF-8'));
    $mail->send();
}

 

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

09.06.2022 в 22:08, esculapra сказал:

Создать почту на хостинге и прописать ее параметры в опенкарт.

У меня ВПС. Что только не делал - письма в спам уходят. Потратил кучу времени на настройку - все равно в спаме. На Годедди потратил 20 мин. За 40 грн в мес. имею почту для домена и чудесный СМТП сервер.

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


11.06.2022 в 10:23, pawana сказал:

У меня ВПС.

Короче, мне даже не нужен жоступ. извините, мне чаас прединфаркт серввно  я цвсех

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

Скрытый текст
10.06.2022 в 09:09, kJlukOo сказал:

все работает с тычка...

https://support.google.com/accounts/answer/185833?hl=ru

читаем Как создать и использовать пароли приложений

и затем полученный пароль приложения присвоить SMTP_GOOGLE_PASS

 

function wrap_mail($to, $subject, $msg)
{
    $mail = new Mail();
    $mail->protocol = 'smtp';
    $mail->parameter = '';
    $mail->smtp_hostname = 'ssl://smtp.gmail.com';
    $mail->smtp_username = SMTP_GOOGLE_EMAIL;
    $mail->smtp_password = SMTP_GOOGLE_PASS;
    $mail->smtp_port = '465';
    $mail->smtp_timeout = 5;
         
    $mail->setTo($to);
    $mail->setFrom(SMTP_GOOGLE_EMAIL);
    $mail->setSender(html_entity_decode(SITE_NAME, ENT_QUOTES, 'UTF-8'));
    $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8'));
    $mail->setText(html_entity_decode($msg, ENT_QUOTES, 'UTF-8'));
    $mail->send();
}

 

Если я верно понял, то нужно поменять в этом файле значение полей SMTP_GOOGLE_EMAIL на свою почту и SMTP_GOOGLE_PASS на свой 16-й пароль. Не могу понять какой файл нужно отредактировать только :(

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


12.06.2022 в 00:01, Zah сказал:
  Показать содержимое

 

Если я верно понял, то нужно поменять в этом файле значение полей SMTP_GOOGLE_EMAIL на свою почту и SMTP_GOOGLE_PASS на свой 16-й пароль. Не могу понять какой файл нужно отредактировать только :(

в опенкарт можно все настроить админка - система - настройки - почта

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

12.06.2022 в 00:27, kJlukOo сказал:

в опенкарт можно все настроить админка - система - настройки - почта

Йома. Просто в поле пароль нужно было ввести. СПАСИБО, дружище. Спас!

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


Большое спасибо всем, кто отозвался!
Проблема решилась, но причину я так и не понял. )))

До возникновения проблемы, как я описал выше, у меня почта была настроена через SMTP-протокол. Настройки почты в админке - в точности, как на скрине у bogdan281989. Но использовался основной пароль Google-аккаунта, а не "пароль приложения". Все работало до 6 июня. 8 июня я обнаружил, что при оформлении заказа стала появляться ошибка. И, вспомнив, что Google сообщал о нововведениях с 30 мая, создал пароль приложения и использовал его вместо "основного" пароля. Это не помогло - вываливалась все та же ошибка.
Попробовал переключиться на MAIL протокол - все заработало, но письма стали попадать в спам, и в Gmail такие письма стал помечать предупреждением на оранжевом фоне: "Будьте осторожны! Системе Gmail не удалось подтвердить, что это письмо отправлено отсюда...". Собственно, после этого и создал тему.

Сегодня переключил протокол с MAIL на SMTP - все заработало! Эксперимента ради вернул вместо пароля приложения снова основной пароль - опять вернулась ошибка, заменил обратно на пароль приложения - снова работает. Почему эта же комбинация (SMTP+пароль приложения) не работали в четверг, когда я создал тему, - я не могу объяснить. Ошибки в пароле приложения быть не могло - я его копи-пастил из гугл-аккаунта в админку Opencart без изменения других параметров.  

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


  • 1 month later...

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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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