Я установил Zimbra Collaboration Suite на CentOS 7. Мне нужно использовать Mutt, чтобы отправлять электронную почту каждый час.

Проблема в том, что всякий раз, когда мой скрипт выполняет Mutt, он не сохраняет сообщение в определенную (удаленную IMAP) папку в .muttrc.

Между тем, когда я выполняю команду напрямую, она сохраняет сообщение в папке.

Это моя конфигурация .muttrc, которая находится в домашнем каталоге текущего пользователя, который выполняет скрипт:

set from="IP Address Information <ip-no-reply@xxx>"
set folder="imaps://username:password@localhost"
set mask="!^\\.[^.]"
set record="+IPInfo"
set postponed="+Drafts"
set spoolfile="+INBOX"
set edit_headers=yes

set ssl_starttls=yes
set ssl_force_tls=yes

set smtp_url = "smtp://username:password@localhost:587"

Это вызов mutt, выполняемый cron каждый час:

echo "Test" | mutt -s "IP Address Information" destination@email.address

Если бы я должен был вызвать команду, как это:

mutt -s "IP Address Information" destination@email.address

и следуйте процессу (mutt открывает vi и позволяет мне набирать тело), он сохраняет сообщение в папке. Но тогда я не могу поместить эту команду в сценарий, поскольку она должна была быть автоматической.

Это папка назначения, о которой я упоминал:

[скриншот зимбры](http://imgur.com/U8EnQ6M)

1 ответ1

0

Недавно я разделил местонахождение mutt и Zimbra и обнаружил, что во время доставки электронной почты возникла проблема с сертификатом.

Mutt ожидает подтверждения о принятии или отклонении сертификата, и если он работает без интерактивности, он автоматически отклоняет сертификат. [это мое предположение о поведении]

Вот обновленный .muttrc:

set from="IP Address Information <ip-no-reply@xxx>"
set folder="imaps://username:password@zimbra_or_postfix_server"
set mask="!^\\.[^.]"
set record="+IPInfo"
set postponed="+Drafts"
set spoolfile="+INBOX"
set edit_headers=yes

set certificate_file=.mutt-certs

set ssl_starttls=yes
set ssl_force_tls=yes

set smtp_url = "smtp://username:password@zimbra_or_postfix_server:587"

Я искал решение этой проблемы и нашел ответ здесь: http://www.seas.upenn.edu/cets/answers/mutt-certificates.html, который объяснил, что я должен добавить директиву set certificate_file в файл ,

После того, как Mutt сохранит самозаверяющий сертификат, скрипт может еще раз доставить письмо в MTA. Но когда я проверяю почтовый ящик учетной записи, используемой для доставки, появляется папка с именем «IPInfo», которая следует директиве set record . И поэтому я предполагаю, что решение моей первоначальной проблемы состоит в том, чтобы позволить mutt сохранить самоподписанный сертификат.

Я надеюсь, что это поможет любому, кто ищет подобный ответ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .