CentOS 7에 Zimbra Collaboration Suite를 설치했습니다. 매시간 이메일을 보내려면 mutt를 사용해야 합니다.
문제는 내 스크립트가 mutt를 실행할 때마다 메시지를 .muttrc의 특정(원격 IMAP) 폴더에 저장하지 않는다는 것입니다.
한편, 명령을 직접 실행하면 메시지가 폴더에 저장됩니다.
이것은 내 .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"
이것은 cron이 매시간 실행하는 mutt 호출입니다.
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.htmlset certificate_file
파일에 지시문을 추가해야 한다고 설명했습니다 .
mutt가 자체 서명된 인증서를 저장하도록 한 후 스크립트는 다시 한 번 이메일을 MTA에 전달할 수 있습니다. 그런데 배송에 사용된 계정의 메일함을 확인해 보니 해당 set record
명령어 뒤에 'IPInfo'라는 폴더가 있습니다. 따라서 원래 문제에 대한 해결책은 mutt가 자체 서명된 인증서를 저장하도록 하는 것이라고 가정합니다.
비슷한 답변을 찾는 분들께 도움이 되었으면 좋겠습니다.