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


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.