Как настроить 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" destination@email.address
Если бы я должен был вызвать команду, как это:
mutt -s "IP Address Information" destination@email.address
и следуйте процессу (mutt открывает vi и позволяет мне набирать тело), он сохраняет сообщение в папке. Но тогда я не могу поместить эту команду в сценарий, поскольку она должна была быть автоматической.
Это папка назначения, о которой я упоминал:
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 сохранить самоподписанный сертификат.
Я надеюсь, что это поможет любому, кто ищет подобный ответ.