Назад | Перейти на главную страницу

Укажите имя хоста почтового сервера и tlsv1 в monit

[Изменить: я ответил на первую половину моей проблемы, поэтому я отредактирую это, чтобы решить вторую половину.]

/ 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 объявления приходят после того, как все серверы перечислены, и они применяются ко всем почтовым серверам в списке. Мне потребовалось время, чтобы наконец понять это, но это есть в руководстве, если вы присмотритесь. Белый интервал не является обязательным.