bash 스크립트를 통해 보낸 메시지를 특정 원격 IMAP 폴더에 저장하도록 mutt를 설정하는 방법은 무엇입니까?


0

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" destination@email.address

다음과 같이 명령을 호출하면

mutt -s "IP Address Information" destination@email.address

프로세스를 따르십시오 (음소거가 vi를 열고 본문을 입력하게하십시오). 메시지를 폴더에 저장합니다. 그러나이 명령은 자동으로 진행되었으므로 스크립트에 넣을 수 없습니다.

이것은 내가 언급 한 대상 폴더입니다.

[짐 브라 스크린 샷] (http://imgur.com/U8EnQ6M)

답변:


0

최근에 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시키는 것입니다.

나는 이것이 비슷한 대답을 찾는 사람에게 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.