명령줄에서 메일을 보내려면 무엇을 구성해야 합니까?

명령줄에서 메일을 보내려면 무엇을 구성해야 합니까?

저는 집에서 컴퓨터로 작업 중인데 이메일을 보내려고 다음과 같이 시도했습니다.

uuencode all.sh all.sh | mail [email protected] 

그런데 문제는 이메일로 아무 것도 받지 못한다는 것입니다. 다음과 같은 오류가 발생합니다.

mail: cannot send message: Process exited with a non-zero status

나는 실제로 직장에서 동일한 명령을 사용하는데 훌륭하게 작동합니다. 이 문제를 해결하기 위한 제안을 듣고 싶습니다. 내 PC에서 명령줄을 사용하기 전에 파일을 설정해야 하는지 잘 모르겠습니다. 또한 mutt를 설치해 보았습니다.

mutt [email protected] < all.sh 

하지만 다음과 같은 오류가 발생합니다.

sendmail: Cannot open mail:25
Error sending message, child exited 1 ().
Could not send the message.

답변1

기본 mail명령은 단지 메일 판독기 및 작성기일 뿐이며 네트워크를 통해 서버와 통신하는 방법을 모릅니다(사용메일 전송 프로토콜규약). 말하는 SMTP는MTA(메시지 전송 에이전트). Ubuntu의 기본 MTA는 Postfix입니다. Postfix를 구성하려면 다음을 실행하세요.

sudo dpkg-reconfigure postfix

메일을 보내기만 하고 메일을 받지 않으려면 위성 시스템을 선택하세요.

적절한 DNS 항목과 바람직하게는 고정 IP 주소를 사용하여 영구적으로 연결된 컴퓨터가 없으면 메일을 직접 받을 수 없습니다. 외부 서버를 사용한 다음 IMAP 프로토콜을 사용하여 메일을 받아야 합니다.

Ubuntu에는 mail이 명령의 여러 버전이 포함되어 있습니다. 이것가보-mailx 버전SMTP에 대해 이야기하는 방법을 잘 알고 있습니다. 에서 ~/.mailrc구성하면 다음과 같습니다.

set smtp=smtp.example.com
set smtp-use-starttls
set smtp-auth-user=neo33
set smtp-auth-password=swordfish

관련 정보