* nix에서 명령 행을 통해 파일을 이메일로 보내는 가장 쉬운 방법은 무엇입니까?


10

단일 파일을 * nix 쉘의 첨부 파일로 전자 메일로 보내는 데 사용할 수있는 가장 쉽고 가장 휴대하기 쉬운 명령은 무엇입니까?

답변:


11

이진 첨부 파일이라고 가정합니다.

uuencode [파일 이름] [파일 이름] | 메일 -s [제목] [받는 사람 주소]

텍스트 파일 인 경우 UUencoding을 신경 쓸 필요가 없습니다. 예를 들면 다음과 같습니다.

메일 -s [제목] [받는 사람 주소] <[파일 이름]

대부분의 * NIX에는 메일과 uuencode가 있으므로 거의 모든 곳에서 작동합니다.


메시지 본문이 아닌 텍스트 파일을 첨부 파일로 사용하려면 어떻게해야합니까?
유발 A

그것은 GNU GNU 메일이 그렇게 할 수 있다고 생각하지 않으므로 실제 메일 클라이언트를 사용해야합니다. 소나무, 똥개 또는 이와 유사한 것. 사용 가능한 시스템은 시스템에 설치된 시스템에 따라 다릅니다. Gavin의 대답 (아래)은 mutt를 사용하면 정상적으로 작동합니다.
RainyRat

소나무가 좋다! 텍스트 GUI를 사용하여 명령 줄을 통해 사용할 수 있습니까?
Yuval A

나는 그것이 가능하다고 생각합니다. 자세한 내용 은 staff.washington.edu/chappa/pine/info/outgoing.html 을 참조하십시오.
RainyRat

11

mutt를 사용하면 다음을 수행 할 수 있습니다.

mutt -z -a <file> -s <subject> -- user@example.com

또는 본문을 입력하지 않으려는 경우 :

mutt -z -a <file> -s <subject> -- user@example.com < /dev/null


어쨌든 덕분에 시스템에서 mutt를 사용할 수 없습니다.
Yuval A

나는 이것이 쉬운 것과 이식 가능한 것 사이에서 던져 질 것이라는 것을 알게 될 것이라고 생각합니다. mailx는 이식 가능하지만 반드시 쉬운 것은 아닙니다. RainyRat이 언급했듯이, 당신은 완전한 MUA를 가지고 명령 줄에서 실행해야한다고 생각합니다.
Gavin McTaggart

2
--이러한 명령을 작동 시키려면 이메일 주소 앞에 추가 해야했습니다.
Autumnsault

실제로 이메일 주소를 파일 이름 "-user@example.com"과 구분하려면 대시가 필요합니다. @DoctorMohawk이 맞습니다. 답변 본문에 위의 내용을 추가하려고합니다.
Jeff Clayton

2

" sendEmail는 경량, 명령 줄 SMTP 이메일 클라이언트 당신이 명령 줄에서 이메일을 보낼 필요가있는 경우,이 무료 프로그램은 완벽하다 :.. 사용에 간단한 풍부한 기능 그것은 bash는 스크립트 배치 파일에서 사용할 수 있도록 설계되었다 SendEmail은 Perl로 작성되었으며 모듈이 필요하지 않다는 점에서 독특하고 직관적이며 유연한 명령 줄 옵션을 가지고있어 매우 쉽습니다. [지원되는 플랫폼 : Linux, BSD, OS X, Windows 98, Windows NT, Windows 2000 및 Windows XP] "

나는 그것을 전에 사용했고 정말 좋아했습니다. -a 옵션을 사용하여 파일을 첨부 할 수 있습니다.


+1-이것은 쉽고 적극적으로 유지 관리되므로 필요한 것에 완벽했습니다! 데비안 시스템을 사용하고 있다면 aptitude install sendemail. 명령은 sendEmail대문자 'E'와 같이 설치됩니다 .
Topher Fangio

실제로 tarball에는 perl 스크립트와 몇 개의 문서가 포함되어 있습니다. 다운로드하여 압축을 풀고 실행할 수 있습니다 (시스템에 perl이있는 경우). 그래도 기쁘다.
클린턴 블랙 모어

1

코멘트를 추가 할 수 없지만 ..

  • 이에 대한 답변은 mailx귀하의 파생 상품이있는 경우에 크게 좌우 됩니다.
  • MUA를 수신하면 파일이 아무런 문제없이 표시되어야하지만, 배관은 uuencode기술적으로 첨부 파일이 포함 된 전자 메일을 생성하지 않습니다. 받은 이메일의 출처를 확인하여 이유를 확인하십시오.

진실 +1 첨부 파일을 보낼 수있는 mailx 버전이 있다는 것을 알지 못했습니다 (광산하지는 않습니다). uuencode-> 메일 파이프 라인에 필요한 수동 uudecoding에 대해서도 정확합니다.
Gavin McTaggart

1

절대 이식성을 원하면 포트 25에서 메일 서버로 텔넷으로 연결하여 SMTP 명령을 직접 발행 할 수 있습니다. 그것들은 너무 어렵지 않으며 매우 스크립트 가능 해야합니다 .


3
자체 SMTP 서버를 작성할 수도 있습니다.
듣다

1

빠른 Google 이이 페이지 를 열어 다양한 애플리케이션을 사용하여 파일을 첨부하는 다양한 방법을 설명합니다. 더 널리 퍼진 두 가지

  • uuenc8de는 인라인 "첨부 파일"을 확인합니다.

  • 메타 메일 -f file-to-attach -m mime-type

  • mpack -c mime-type file-to-attach

  • 바보 -a file-to-attach

  • 느릅 나무 -A file-to-attach

또한 몇 가지 쉘 스크립트Perl 스크립트 에 대한 링크가있어 메시지를 작성하고 보낼 수 있습니다.


1
echo "Email body text" | mail -s "Subject of email" -a file.to.attach.txt my@email.com

메일 : 불법 옵션
-a

1
이것은 mailx 기능이므로, 특정 패키지가 설치되어 있는지 확인하십시오
niXar


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