* 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.