명령 행에서 첨부 파일을 이메일로 보내는 방법


25

명령 행에서 첨부 파일을 이메일로 보낼 수 있습니까?

가능하다면 다음과 같은 간단한 것을 원합니다.

mail -a myfile.txt -t me@example.com -s "Here's my file"

기본 우분투 명령 줄 메일 사용자 에이전트 mail(일명 mailx)는 MIME 무지이므로 1980 년대가 아닌 방식으로 첨부 파일을 처리 할 수 ​​없습니다. 이것은 좋은 질문입니다. 저는 정식 Canonical MUA를 찾고 있습니다. 올 더.
msw

답변:


18

Ubuntu 리포지토리에있는 모든 메일 사용자 에이전트 중에서 mutt 는 장기 지원 기능이있는 명령 줄 MUA 인 것으로 보입니다 .

manual 에 따르면 다음과 같이 정확하게 할 수 있습니다.

mutt -a myfile.txt -s "Here's my file" -- me@example.com

메일 전송 에이전트가 필요하기 때문에 어디에도 가지 않습니다. 인기있는 것은 :

  • 존경하는 sendmail
  • 접미사
  • exim4
  • 큐메일
  • nullmailer

Canonical이 지원하는 것으로 보이는 유일한 것은 postfix (수정 Steve 덕분)와 exim4뿐입니다 .

또한 xdg-email 은 적절한 우분투 MUA 라고 말할 수도 있지만, 귀하를 대신하여 선호하는 MUA 만 실행 하는 기본 프론트 엔드입니다 .

사용하기에 적합한 MTA에 대한 조언이 필요하면 여기에서 다른 질문을여십시오.


좋은 질문입니다. 감사합니다. 박스에서 메일을 보내달라고 했어요 nullmailer MTA를 사용하여 ISP에 맹목적으로 릴레이 mutt했으며 예제 명령이 광고 된대로 작동했습니다. 우연히 nullmailer는 가짜 sendmail 프론트 엔드를 가지고 있기 때문에 sendmail과 대화 할 것으로 예상되는 대부분의 프로그램은 저의 노력없이 실제 MTA로 뒤섞입니다.
msw

msw, exim4가 유일한 정식 지원이라고 주장하는 이유는 확실하지 않습니다. postfix도 기본이며 우분투 서버 설치에서 메일 서버 작업 선택을 선택하면 활성화됩니다. exim4는 데비안 기본 MTA라고 생각합니다. 과거에는 패키징 환경 설정으로 인해 기본 설정으로 가져 왔을 수도 있지만, 지금은 postfix가 우분투에서 선호되는 MTA입니다.
Steve Beattie

또한 bsd mail / mailx를 (마이크를 인식하지 못하는) MUA로 사용하는 경우 실제로 메일을 보내려면 어떤 종류의 MTA가 필요합니다. 어쨌든 음소거가 더 좋습니다. :-)
Steve Beattie

11

첨부 파일을 보내는데도 문제가있었습니다. 첨부 파일없이 이메일을 보냈을 때 성공했지만 첨부 파일이 없었습니다. 이 문제와 존재했다 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"명령의 존재입니다.

업데이트 : 201808

첨부 파일 -a옵션이 대문자 로 변경된 것으로 보입니다 -A. 은 -a에 따라 헤더를 변경하기위한 것으로 보인다 문서


우수한! 감사. .zshrc파일을 다른 사람 에게 보내려고 했지만 mail빠른 메시지를 보내는 데 많이 사용했지만 첨부 파일을 보내려고해도 작동하지 않았습니다. 인수 순서 가 매우 중요 하다는 것을 알 수 있다는 확인이 필요했습니다 . 이것은 나를 위해 일했습니다 : mail -s "zshrc" -a ~/.zshrc username@example.com... 물론 메시지 본문을 입력 ctrl+d하고 마지막 빈 줄을 쳐야 했습니다.
Karl Wilbur

mail username@example.com -a ~/.zshrc"작업"을 사용 하여 메시지를 보냈지 만 파일을 보내지 않았습니다. 나는 시도했다 mail username@example.com -a ~/.zshrc -s 'zshrc'가받는 사람 주소 후 PARAMS이 무시되고이 분명했을 것이다.
Karl Wilbur

@Masoud lnk가 깨졌습니다 ... 그것을 업데이트하고 싶었지만 제공 한 문서를 더 잘 알고 있으므로 알려 드리겠습니다.
Philippe Gachoud

6

최근에 명령 및 매개 변수가 변경된 것을 발견했습니다.

이 명령으로 첨부 파일을 보내려는 경우 :

mail -s "your subject" you@gmail.com -A /your/attachment/absolute/path < /home/you/message.txt

이 옵션은 attachment해야 -A자본이다 A.


3

쉘에서 파일을 보내려고 하지만 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 텍스트를 채 웁니다 . 보내기 전에 편집 할 수 있습니다 .


2

heirloom-mailxdebian의 package는 mailxmime 첨부 파일을 쉽게 보낼 수있는 명령을 제공합니다 . 다음은 나를 위해 작동합니다.

 mailx -a attachment.zip -s subject rctp@domain.to

1
이것은 내가 잃어버린 조각이었습니다. mailmailxRH-alikes에 포함 된이 -a파일 첨부하지만, 데비안 alikes에 포함 된 하나하지 않습니다.
DopeGhoti

0

첨부 파일과 함께 본문을 추가하는 데 사용되는 다른 답변을 추가하고 싶습니다. 건배!!

echo "This is the message body" | mutt -a "/path/to/file.to.attach" -s "subject of message" -- recipient@domain.com
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.