Я установил 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 и позволяет мне набрать текст), он сохраняет сообщение в папку. Но затем я не могу поместить эту команду в скрипт, так как это должно было быть автоматически.
Это папка назначения, о которой я упоминал:
решение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 сохранить самоподписанный сертификат.
Надеюсь, это поможет тем, кто ищет аналогичный ответ.