После половины дня танцев с бубном.
Для начала, у вас все должно быть настроено верно, а именно, как показано на картинке ниже:
Вы отправляете почту из формы обратной связи, и получаете PHP Fatal error: Uncaught Exception: Error: Password not accepted from server!
Помимо того, что это может быть банальный неверный пароль, куда более вероятно, что вы ни разу не заходили в бизнесовый почтовый ящик Яндекс и не приняли соглашение пользователя. Недостаточно быть админом и зайти в него, нужно еще и зайти под пользователем, которого вы создали как админ. Это очень важно, но неочевидно! Убил в этой точке 2 часа
Далее, не путайте пароли. Вам нужно указывать не пароль админа 360, а пароль пользователя сервиса 360. Либо, если вы не хотите его светить в магазине, зайдите в эккаунт Коннект/360 и разрешение использование паролей приложений (App Password). Далее, создайте такой первый пароль для сервиса Почта. Система Яндекс сгенерит его вам автоматически. И использовать этот пароль во вкладке Mail этот пароль для SMTP как обычный пароль для SMTP, но при этом, ваш основной пароль от SMTP никто не узнает.
Дальше вы получите другую ошибку: PHP Fatal error: Uncaught Exception: Error: MAIL FROM not accepted from server! Это значит, что тему с паролем и авторизацией вы проехали, сервер вас узнал, но ему не нравится несовпадение ящика отправителя с ящиком, который был сообщен SMTP-серверу при обмене командами. Для решения этой проблемы правите файл /catalog/controller/information/contact.php:
/* $mail->setFrom($this->request->post['email']); */
$mail->setFrom($this->config->get('config_email'));
Все, радуетесь жизни.
Да, подобных постов тут было много, но инфо по п.п. 2 было найти очень тяжело. И по OC3 информации мало, а contact.php немного изменился (не в одной конкретно этой строке, а вообще).
Эта инструкция для тех, кто хочет все и за 1 минуту
FAQ:
Почему Яндекс.Коннект? Потому, что свой домен. А G-Suite стал стоить 6 долларов в месяц. Деньги невеликие, но для некоммерческого проекта хотел сделать принципиально бесплатно.
Почему не PHP Mail и не свой почтовый сервер, такой как EXIM? Потому, что в DigitalOcean закрыт outbound TCP port 25, и открыть его по запросам в ТП невозможно. Почтовые релеи не могут обмениваться почтой, а точнее, ваш почтовый сервер ничего не может отправить наружу.