Как настроить Mutt так, чтобы он сохранял отправленные сообщения в определенной удаленной папке IMAP с помощью bash-скриптов?

Как настроить Mutt так, чтобы он сохранял отправленные сообщения в определенной удаленной папке IMAP с помощью bash-скриптов?

Я установил 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" [email protected]

Если бы я вызвал команду следующим образом:

mutt -s "IP Address Information" [email protected]

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

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

[скриншот zimbra](http://imgur.com/U8EnQ6M)

решение1

Недавно я разделил местоположение 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 сохранить самоподписанный сертификат.

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

Связанный контент