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

1307
Ferdi

Я установил 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)

0

1 ответ на вопрос

0
Ferdi

Recently I've split the location of mutt and Zimbra, and found out there was a certificate problem during email delivery.

mutt is awaiting confirmation to accept or reject a certificate, and if it runs without interactivity, it automatically rejects the certificate. [this is my assumption of the behavior]

Here is an updated .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" 

I was looking for the solution to this problem, and found the answer here: http://www.seas.upenn.edu/cets/answers/mutt-certificates.html which explained that I have to add set certificate_file directive to a file.

After letting mutt save the self-signed certificate, the script can once more deliver email to the MTA. But when I check to the mailbox of the account in use for the delivery, there is a folder named 'IPInfo' that follows the set record directive. And therefore I assume that the solution to my original problem is to let mutt save the self-signed certificate.

I hope this helps anyone who is looking for the similar answer.

Похожие вопросы