Proxmox
March 25

Уведомления Proxmox на Gmail

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

Подключаемся по SSH к нашему узлу Proxmox и авторизуемся в системе как пользователь root.

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

apt update 
apt install -y libsasl2-модули mailutils

Включаем двухфакторную аутентификацию для учётной записи Gmail, которая будет использоваться, перейдя в настройки безопасности.

Создаём пароль приложения для своей учетной записи.

  1. Перейти к Паролям приложения.
  2. Введите: Proxmox или то, как собираетесь идентифицировать этот пароль в дальнейшем.
  3. Выбираем Создать.
  4. Сохраняем пароль.

Вводим учётные данные Gmail в файл

Нужно заменить на свои
echo "smtp.gmail.com youremail@gmail.com:yourpassword" > /etc/postfix/sasl_passwd

# chmod u=rw
chmod 600 /etc/postfix/sasl_passwd

# generate /etc/postfix/sasl_passwd.db
postmap hash:/etc/postfix/sasl_passwd

Открываем файл конфигурации Postfix

nano /etc/postfix/main.cf

Добавляем следующее в конец файла:

relayhost = smtp.gmail.com:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/Entrust_Root_Certification_Authority.pem
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache
smtp_tls_session_cache_timeout = 3600s
ВАЖНО: закомментируйте существующую строку, содержащую только relayhost=, поскольку мы используем этот ключ в нашей конфигурации, которую мы только что вставили.

Сохраняем и закрываем

Перезагружаем postfix

postfix reload

Протестируйте, чтобы убедиться, что все в порядке, либо создайте бекап любой ВМ.

echo "sample message" | mail -s "sample subject" anotheremail@gmail.com

Мне помогли:

https://gist.github.com/tomdaley92/9315b9326d4589c9652ce0307c9c38a3