터미널에서 이메일을 보내는 방법은 무엇입니까?


169

Linux / MacOS의 터미널에서 이메일을 보내는 방법이 있지만 그 방법에 대한 적절한 문서를 찾지 못하는 것 같습니다.

기본적으로 파일이 변경 될 때마다 알려주는 bash 스크립트가 필요합니다.


3
여기서 일부 호스트와 ISP는 사용자가 전자 메일을 보내는 기능을 "끄는"것입니다. 사람들이 스팸 및 피싱을 차단하려는 시도라고 생각합니다.
Jim Jeffries

@JimJeffries 어느 쪽? Amazon EC2 웹 서버를 사용하고 있습니다.
ckjbgames

답변:


125

터미널로 가서 man mail도움을 요청하십시오.

다음을 설정해야 SMTP합니다.

http://hints.macworld.com/article.php?story=20081217161612647

또한보십시오:

http://www.mactricksandtips.com/2008/09/send-mail-over-your-network.html

예 :

mail -s "hello" "example@example.com" <<EOF
hello
world
EOF

example@example.com제목 hello과 메시지를 이메일로 보냅니다.

여보세요

세계


방금 시도했지만 효과가 있었지만 호기심에 대해 두 가지 질문이 있습니다. <<의 의미는 온라인에서 '<'또는 '<<의 예를 보았습니다. '무엇을 위해 사용됩니까? 그리고 왜 메시지 끝에서 파일 끝을 주었습니까?
Deep

"<< EOF"및 "EOF"는 "여기 문서"로 표시됩니다. 두 EOF 사이의 텍스트는 여러 줄로 묶인 문자열로 처리됩니다. 그것은 '사람 강타'에 설명되어 있습니다
조 Inwap

134
echo "this is the body" | mail -s "this is the subject" "to@address"

20
이 모든 솔루션을 로컬로 설치했다고 가정합니다. MTA
Miquel

11
@Miquel 좋은 지적. 우분투에서는를 통해 전제 조건을 얻을 수 있습니다 sudo apt-get install mailutils.
earldouglas

3
@James, 그것은 내 MAC에서 작동하지 않습니다 (((당신은 나를 도울 수 있습니까?
neo

1
단계별 튜토리얼 : rianjs.net/2013/08/…
Dušan Maďar

이상한. 주소를 변경하는 것이 유일한 변경 사항이지만 "SyntaxError : invalid syntax"메시지가 표시됩니다.
Jewenile

41

경고 메시지와 같이 제목 줄만 필요한 경우 다음을 수행하십시오.

mailx -s "This is all she wrote" < /dev/null "myself@myaddress"

설치해야 할 수도 있습니다 mailutils. 그것은 패키지 관리자를 통해 설치 될 수있다 (예. apt install mailutils)
지반 Takhar 보낸을

31

아마도 가장 간단한 방법은 사용하는 것입니다 curl 이것을 하는 것이며 추가 패키지를 설치할 필요가 없으며 요청에 직접 구성 할 수 있습니다.

다음은 gmail smtp 서버를 사용하는 예입니다.

curl --url 'smtps://smtp.gmail.com:465' --ssl-reqd \
  --mail-from 'from-email@gmail.com' \
  --mail-rcpt 'to-email@gmail.com' \
  --user 'from-email@gmail.com:YourPassword' \
  -T <(echo -e 'From: from-email@gmail.com\nTo: to-email@gmail.com\nSubject: Curl Test\n\nHello')

이것은 정말 좋은 옵션입니다. Google 계정에 앱 전용 비밀번호를 생성하면 자신의 계정에서 이메일을 전송하기 만하면됩니다. 아주 멋지다!
dakdad

2
멋진 대답은, 마지막으로 작업하기 위해 덜 보안 응용 프로그램에 설정하는 것을 잊지 마세요 myaccount.google.com/lesssecureapps을
yubaraj의 poudel

@aliaksandr는이 마지막 요점을 그의 대답에 추가해야합니다. 기본적으로이 옵션 (보안 수준이 낮은 앱에 대한 액세스 권한 부여)은 비활성화되어 있으며 분명하지 않습니다. 적어도 Gmail 계정을 발신자 이메일로 사용하는 경우.
EAmez

18

Linux에서 파일을 첨부하려는 경우

echo 'mail content' | mailx -s 'email subject' -a attachment.txt username@stackoverflow.com

4
invalid header첨부 파일에 대한 메시지를 제공 합니다. 올바른 옵션은 대문자 -A였습니다.
Stephane

3
@Stephane Patrick-haugh에 따르면 -a는 어태치먼트 스위치입니다. -A는 계정 명령입니다. 맨 페이지 참조 : linux.die.net/man/1/mailx
MiaeKim

10

Mac OS 또는 Linux OS의 터미널 에서이 코드를 입력하십시오.

mail -s (subject) (receiversEmailAddress)  <<< "how are you?"

예를 들어 이것을 시도하십시오

mail -s "hi" abc@example.com <<< "how are you?"<br>

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