한 줄로 리눅스 터미널에서 메일을 보내라.


148

나는 mail리눅스에서 커맨드 라인을 통해 이메일을 보내는 커맨드가 있다는 것을 알고있다 . 터미널에서 한 줄로 간단한 이메일을 보내려면 어떻게해야합니까?

예를 들면 다음과 같습니다.

mail user@gmail.com [subject] [body]

그리고 확인 메시지없이 사용자에게 이메일을 보냈습니까?

그 이유는 java프로그램 에서 특정 이벤트가 발생할 때 이메일을 통해 간단한 메시지를 자신에게 보내고 싶습니다 . 아이디어는 Runtime.getRuntime()... 등을 사용 하여 프로그램 mail command에서 보낸다는 것 java입니다.

내가 사용 cron과거에 비슷한 일을 할 수 있지만, 현재 구현은 사용하지 않는 cron내가 대신을 시도 할 필요가 있도록.


사용 bulk mail CLI, 효율적이고 강력한 도구가 하나의 쉬운 명령으로 메일 링리스트에 동적 이메일을 보내려면 bulkmail mail! 이 작지만 강력한 도구 💌 bulkmail.now.sh
Kumar Abhirup의

답변:


209

메일 은 리눅스 시스템에서 꽤 많은 프로그램을 나타낼 수 있습니다. 그 뒤에 원하는 것은 sendmail 또는 postfix 입니다. 나는 후자를 추천한다.

자주 사용하는 패키지 관리자를 통해 설치할 수 있습니다. 그런 다음 구성해야하며 일단 완료하면 다음과 같은 이메일을 보낼 수 있습니다.

 echo "My message" | mail -s subject user@gmail.com

자세한 내용은 설명서를 참조하십시오.

postfix를 구성하는 한, 인터넷에 그것을 게시하는 방법에 대한 많은 기사가 있습니다. 도메인이 등록 된 공용 서버에 있지 않으면 일반적으로 전자 메일을 보낼 수있는 SMTP 서버로 전자 메일을 전달하려고합니다.

예를 들어 Gmail의 경우 http://rtcamp.com/tutorials/linux/ubuntu-postfix-gmail-smtp/ 또는 기타 유사한 자습서를 따르십시오 .


4
Postfix는 강력하지만 이메일 만 보내려면 "ssmtp"를 시도하십시오. 이 패키지는 더 작으며 postfix와 같은 데몬을 실행하지 않습니다. 그것은 안전한 프로토콜을 지원하고 Gmail과 함께 작동합니다.
oᴉɹǝɥɔ

6
" 'mail'프로그램은 현재 설치되어 있지 않습니다. 다음을 입력하여 설치할 수 있습니다 : apt-get install mailutils"
Tom

더 가벼운 무게 : 패키지 nullmailer플러스 bsd-mailx. 대부분의 작업 스테이션에 충분합니다. :) 인터페이스가 nullmailer포함되어 sendmail있으므로 bsd-mailx패키지를 건너 뛰고 Hengjie의 접근 방식을 사용할 수도 있습니다 .
Izzy

@ oᴉɹǝɥɔ ssmtp은 사용되지 않습니다. msmtp대신 사용하십시오 .
매트 M.


32
echo "Subject: test" | /usr/sbin/sendmail user@domain.com

이를 통해 텍스트 파일을 에코하지 않고 하나의 명령 줄 내에서 수행 할 수 있습니다. 이 답변은 @ mti2935의 답변 위에 작성되었습니다. 그래서 신용은 거기에 간다.


2
제목과 본문에 대한 답을 추가하려면 다음과 같이하십시오. echo -e "제목 : test \ n \ n 본문 내용 \ n"| sendmail user@domain.com
emvidi

13

sendmail을 사용할 수도 있습니다.

/usr/sbin/sendmail user@domain.com < /file/to/send

참고 : Postfix + S-Nail이 있습니다. 이것이 나를 위해 일한 것입니다. 먼저 "Rohit Gupta"답변을 사용하여 메일 유틸리티를 다운로드 한 다음 귀하와 모든 것이 제대로 작동했습니다.
Mohammed Baashar

13

우분투 사용자의 경우 : 먼저 mailutils를 설치해야합니다

sudo apt-get install mailutils

gmail 또는 smtp를 사용하는 경우 이메일 서버를 설정하십시오. 이 링크를 따르십시오 . 그런 다음이 명령을 사용하여 이메일을 보내십시오.

echo "this is a test mail" | mail -s "Subject of mail" username@domain.com

gmail을 사용하고 있는데 여전히 인증 오류가 발생하는 경우 gmail 설정을 변경해야합니다.

덜 안전한 앱 을 보려면 여기 에서 액세스를 켜십시오.



-3

간단한 메일 발송 :

$ mail -s "test message from centos" recipient@example.com
hello from centos linux command line

Ctrl+ D마무리


2
그는 온라인 명령을 요구하고 있습니다.
Rohit Gupta
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.