답변:
Ubuntu 리포지토리에있는 모든 메일 사용자 에이전트 중에서 mutt 는 장기 지원 기능이있는 명령 줄 MUA 인 것으로 보입니다 .
manual 에 따르면 다음과 같이 정확하게 할 수 있습니다.
mutt -a myfile.txt -s "Here's my file" -- me@example.com
메일 전송 에이전트가 필요하기 때문에 어디에도 가지 않습니다. 인기있는 것은 :
Canonical이 지원하는 것으로 보이는 유일한 것은 postfix (수정 Steve 덕분)와 exim4뿐입니다 .
또한 xdg-email 은 적절한 우분투 MUA 라고 말할 수도 있지만, 귀하를 대신하여 선호하는 MUA 만 실행 하는 기본 프론트 엔드입니다 .
사용하기에 적합한 MTA에 대한 조언이 필요하면 여기에서 다른 질문을여십시오.
mutt
했으며 예제 명령이 광고 된대로 작동했습니다. 우연히 nullmailer는 가짜 sendmail 프론트 엔드를 가지고 있기 때문에 sendmail과 대화 할 것으로 예상되는 대부분의 프로그램은 저의 노력없이 실제 MTA로 뒤섞입니다.
첨부 파일을 보내는데도 문제가있었습니다. 첨부 파일없이 이메일을 보냈을 때 성공했지만 첨부 파일이 없었습니다. 이 문제와 존재했다 sendemail
, mutt
, mail
, mailx
, uuencode
명령.
다행히도 그것은 재미있게 해결되었습니다. 이메일을 보내기 위해 Gmail을 사용합니다. http://www.linuxandlife.com/2013/01/send-email-from-linux-terminal.html에 선언 된대로 터미널에서 명령을 통해 이메일을 보내도록 Gmail을 구성 할 수 있습니다 .
다음을 사용하여 문자 이메일을 보낼 수 있습니다.
mail -s "hello" RECEIVE@mail.com < /home/masoud/YOURFILE.txt
그러나 아래와 같이 첨부 파일과 동일한 파일을 보낼 수 없습니다 .
mail -s "hello" RECEIVE@mail.com -a /home/masoud/YOURFILE.txt
또는:
mail -s "hello" -a /home/masoud/YOURFILE.txt RECEIVE@mail.com
마지막으로이 형식 만 첨부 파일을 보낼 수 있음을 이해했습니다.
echo "your message here" | mail -s "title" -a /home/masoud/YOURFILE.txt RECEIVE@mail.com
놀랍게도 차이점은 "echo"명령의 존재입니다.
첨부 파일 -a
옵션이 대문자 로 변경된 것으로 보입니다 -A
. 은 -a
에 따라 헤더를 변경하기위한 것으로 보인다 문서
.zshrc
파일을 다른 사람 에게 보내려고 했지만 mail
빠른 메시지를 보내는 데 많이 사용했지만 첨부 파일을 보내려고해도 작동하지 않았습니다. 인수 순서 가 매우 중요 하다는 것을 알 수 있다는 확인이 필요했습니다 . 이것은 나를 위해 일했습니다 : mail -s "zshrc" -a ~/.zshrc username@example.com
... 물론 메시지 본문을 입력 ctrl+d
하고 마지막 빈 줄을 쳐야 했습니다.
mail username@example.com -a ~/.zshrc
"작업"을 사용 하여 메시지를 보냈지 만 파일을 보내지 않았습니다. 나는 시도했다 mail username@example.com -a ~/.zshrc -s 'zshrc'
가받는 사람 주소 후 PARAMS이 무시되고이 분명했을 것이다.
쉘에서 파일을 보내려고 하지만 Thunderbird를 사용하는 것이 좋습니다 .
이 경우에는 시도 thunderbird -remote ...
가 유용합니다. 썬더 버드가 일반적으로 실행되고 있다고 가정합니다.
이 명령은 실행중인 Thunderbird 인스턴스의 메일 작성 창을 엽니 다.
"보낸 사람"주소는 썬더 버드에 구성된 기본 주소 입니다.
또한 기존 계정 설정 이 사용되며 별도의 설정이 필요하지 않습니다.
(A)에 따르기는 하겠지만 메일의 you@example.com
제목이 "S"로, 본체 "B", 및 장착 /some/absolute/file.txt
명령은
thunderbird -remote "xfeDoCommand(composeMessage,subject='S',to='you@example.com',body='B',attachment='/some/absolute/file.txt')"
두 가지 문제가 있습니다.
첨부 파일은 절대 경로 로 제공해야하는데 실제로는 지루합니다. readlink -f
상대 경로를 해결 하는 데 사용하여 처리 할 수 있습니다 .
thunderbird -remote "xfeDoCommand(composeMessage,subject='S',to='you@example.com',body='B',attachment='$(readlink -f file.txt)')"
또한 명령이 길다. 네 개의 인수와 함께 쉘 스크립트 또는 쉘 함수를 사용하십시오.
thunderbird-compose () {
thunderbird -remote "xfeDoCommand(composeMessage,subject='$1',to='$2',body='$3',attachment='$(readlink -f $4)')"
}
이 기능을 사용하면 명령을 읽을 수있게됩니다.
thunderbird-compose 'Some Subject' test@example.com 'Body of message' file1
첨부 파일이 있는 Thunderbird "Write" 창을 열고 From, To, Subject 및 body 텍스트를 채 웁니다 . 보내기 전에 편집 할 수 있습니다 .
mail
(일명mailx
)는 MIME 무지이므로 1980 년대가 아닌 방식으로 첨부 파일을 처리 할 수 없습니다. 이것은 좋은 질문입니다. 저는 정식 Canonical MUA를 찾고 있습니다. 올 더.