[Изменить: я ответил на первую половину моей проблемы, поэтому я отредактирую это, чтобы решить вторую половину.]
/ etc / monit / monitrc выглядит так:
set mailserver
smtp.server.net
port 587
username "USERNAME"
password "PASSWORD"
using tlsv1 with timeout 30 seconds
using hostname "server.fqdn.com",
smtp.server2.net
port 587
username "USERNAME"
password "PASSWORD"
using tlsv1 with timeout 30 seconds
using hostname "server.fqdn.com"
sudo service monit syntax
выплевывает это:
/etc/monit/monitrc:57: Error: syntax error 'smtp.server2.com'
Сначала у меня было неправильное использование синтаксиса / с таким:
using tlsv1
using hostname "server.fqdn.com"
with timeout 30 seconds
Обычно сразу после публикации разобрался с ответом.
В with timeout 30 seconds
часть принадлежит using tlsv1
, поэтому синтаксис работает так:
Правильный конфиг оказался такой:
set mailserver
smtp.server.net
port 587
username "USERNAME"
password "PASSWORD"
using tlsv1
,
smtp.gmail.com
port 587
username "USERNAME"
password "PASSWORD"
using tlsv1
with timeout 30 seconds
using hostname "server.fqdn.com"
В with timeout
и using hostname
объявления приходят после того, как все серверы перечислены, и они применяются ко всем почтовым серверам в списке. Мне потребовалось время, чтобы наконец понять это, но это есть в руководстве, если вы присмотритесь. Белый интервал не является обязательным.