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

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

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

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

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

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

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



답변

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

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

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

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

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

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


답변

프롬프트와 확인을 피하기 위해 파이프와 함께 에코를 사용할 수 있습니다.

echo "This is the body" | mail -s "This is the subject" user@gmail.com


답변

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

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


답변

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

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


답변

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

sudo apt-get install mailutils

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

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

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

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


답변

아래 명령을 사용하여 우분투에서 메일 패키지를 설치할 수 있습니다.

우분투-:

$ sudo apt-get install -y mailutils

CentOs-의 경우 :

$ sudo yum install -y mailx

메일 테스트 명령 ::

$ echo "Mail test" | mail -s "Subject" youremail@domain.com


답변

간단한 메일 발송 :

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

Ctrl+ D마무리