Настройка модуля уведомлений (ssmtp)

Здравствуйте!
Возникла проблема при настройке модуля уведомлений через ssh (Контроллер WB 7, wb-2401 stable), до настройки уведомлений в веб-интерфейсе дело собственно не дошло. Описываю последовательность действий и с чем столкнулся в результате:

  • Хотел использовать gmail, поэтому следовал соответствующему разделу на вики
  • В /etc/ssmtp/ssmtp.conf добавил всю нужную информацию, следовав ссылке выше. Но уже на этом моменте не понял точно, какой пароль нужен утилите ssmtp; в итоге попробовал с действующем паролем от google аккаунта и сгенерированным 16-символьным паролем для сторонних приложений - результат получился один и тот же.
  • Так же модифицировал файл /etc/ssmtp/revaliases в формате local_account:outgoing_address:mailhub
  • Сделал проверку, прописал:
echo "Test" | ssmtp -v recipient@domain

где recipient@domain - действующий аккаунт почты, который может получать сообщения

  • В итоге получил следующую ошибку
ssmtp: Cannot open smtp.gmail.com:465

Что пробовал

  • Пробовал использовать сервер @mail.ru, но все было точно так же
  • Пробовал менять пароли, как описывал выше
  • Пробовал менять порт между 587 и 465
  • Находил решение такой проблемы через строку типа TLS_CA_FILE=/etc/ssl/ca-certificates.crt; файл такой существует, добавил, ничего не поменялось (вместе с этим изменяя параметр UseSTARTTLS)
  • Прописывал параметр hostname

Одна и та же ошибка, описанная сверху, появлялась вне зависимости от моих действий
Если нужна еще какая-либо информация, дайте знать
Заранее большое спасибо!

Добрый день.

Используйте сгенерированный пароль и не забудьте удалить лишние пробелы.

Для Gmail используется 587 порт, скорее всего ошибка из-за этого.
В файле /etc/ssmtp/ssmtp.conf поменяйте строку:

mailhub=smtp.gmail.com:465

на:

mailhub=smtp.gmail.com:587

Здравствуйте!

Используйте сгенерированный пароль и не забудьте удалить лишние пробелы.

Использую такой пароль в данный момент, без пробелов, да; все такую же ошибку выдает

Для Gmail используется 587 порт, скорее всего ошибка из-за этого.

Поменял на 587 порт, ошибка та же:

ssmtp: Cannot open smtp.gmail.com:587

Добрый день.
Проверил у себя, всё работает.
Что делал?

  1. В консоли контроллера выполнил команду:
    nano /etc/ssmtp/ssmtp.conf
  2. Закомментировал все строки, что были в файле
  3. В Google аккаунте сгенерировал пароль для приложений, он имеет следующий вид: xxxx yyyy zzz dddd, удалил в пароле все пробелы.
  4. Вставил в файл ssmtp.conf следующие строки:
mailhub=smtp.gmail.com:587
UseTLS=Yes
UseSTARTTLS=Yes
AuthUser=maxim.lazarev@wirenboard.com
AuthPass=xxxxyyyyzzzdddd

  1. Не забыл про один дополнительный Enter после строки AuthPass=, сохранил файл
  2. Запустил проверку в консоли: echo 'Test message to check sSMTP new configuration' | ssmtp -v maxim.lazarev@wirenboard.com
  3. Получил письмо на почту.

Файл /etc/ssmtp/revaliases не трогал вообще.

Подскажите, пожалуйста, всё ли вы делали точно так же?
Пинг до гугла проходит у вас? ping smtp.gmail.com

1 лайк

Здравствуйте,
Только что заново проделал всё, опираясь на пункты, что вы прописали, ко всему этому очистил файл /etc/ssmtp/revaliases, и результат точно такой же - та же самая ошибка

ssmtp: Cannot open smtp.gmail.com:587

Когда пингую smtp.gmail.com:

ping: smtp.gmail.com: Name or service not known

Заметил еще, что ping возвращает такой результат вне зависимости от переданного ему аргумента (domain’а), то есть пингуя любой сайт, получаю одну и ту же ошибку
Предполагаю, что ошибка в настройке интернета, либо ошибка кроется в каких-нибудь конфигурационных файлах Debian’a, так как, например, apt install <package> всегда вернет строку типа E: Unable to locate <package>
Кроме этого, сейчас увидел, что в веб-интерфейсе у настроенного wi-fi соединения пишет No internet access, что странно - wi-fi полностью исправен, в интернет доступ есть (с ноутбука, например, и собственно к WB7 я подключился через эту сеть).

Добрый день.
Всё-таки основная причина это отсутствие интернета у контроллера, нужно для начала устранить её.
Проверьте на роутере что доступ в интернет разрешен.

Не сильно понятно, что конкретно с этим делать, но вот что попробовал:

  • Зашел на сам роутер через его ip
  • Покопался в настройках и нашел wb7
  • Заметил, что доступ к интернету ему уже был разрешен
  • Попробовал сделать wb7 статический ip-адрес

В итоге ничего не изменилось, все так же внутри самого контроллера не могу выполнять команду ping

Есть такой вопрос: когда настраивал подключение wb7 к роутеру, установил ему статический ip-адрес (маска 255.255.255.0). Это на что-то может повлиять? Может, лучше ставить динамический? (Если да, то как на веб-интерфейс можно будет зайти?)

А указали адрес основного шлюза?

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

Да, указывал, т.е если роутер имеет ip: xxx.yyy.zzz.1, то wb7: xxx.yyy.zzz.n

Спасибо! Не сильно было понятно разницы изначально. Значит, при задании статического ip конфликтов не было (при последнем тестировании ssmtp) по показаниям текущих подключений роутера, но интернета у контроллера так и не появлялось

Проблема решена

Выражаю большую благодарность всем участникам данного обсуждения! Проблема - отсутствие подключения контроллера WirenBoard7 к интернету, а следовательно и невозможность использования модуля уведомлений - решена

Что сделал и конечный итог

Решением проблемы стало смена статического ip адреса на динамический адрес, задаваемый самим роутером (dhcp).
Динамический адрес контроллера для доступа к нему через веб-интерфейс и ssh протокол, как было предложено, был подсмотрен через панель управления роутера
В конечном итоге конфигурационные файлы выглядят следующим образом (соответствующие поля с почтой и паролем изменены на валидные данные):

/etc/ssmtp/ssmtp.conf:

А файл /etc/ssmtp/revaliases остался пустым

Команда:

echo "Test" | ssmtp -v mail@domain

(Соответствующий действующий адрес почты подставлен) Выдает желаемый результат и присылает письмо на почту

1 лайк