Linux“mail”명령을 사용할 때 메일은 실제로 어떻게 전송됩니까? “Subject” abc@def.com 이메일을 보내지 않는 경우

다음 mail과 같이 Linux 터미널에서 명령을 사용할 때 이메일을 보내는 데 사용되는 이메일 계정 :

echo "Body of email" | mail -s "Subject" abc@def.com

이메일을 보내지 않는 경우 보내는 이메일 주소의 사용자 이름과 비밀번호를 지정해야합니까? mail내가 읽은 모든 자습서는 발신자 주소에 대해 아무것도 지정하지 않습니다.

편집 : “원격 도메인으로 메일 발송이 지원되지 않음”효과로 인해 오류 메시지가 표시되면 ISP가 이메일 전송을 차단 했습니까? 이 주위에 어떤 방법이 있습니까? 감사.



답변

다음과 같이 Linux 터미널에서 mail 명령을 사용할 때 이메일을 보내는 데 사용되는 이메일 계정 :

기본 구성에서는 로그인시 사용한 것과 동일한 계정입니다. 컴퓨터에는 MTA (메일 서버 프로그램)가 설치되어 있습니다. 보통 Postfix 또는 Exim4, 때로는 Sendmail 또는 qmail.

이 계정의 이메일 주소는 또는입니다 . 여기서 FQDN을 얻을 수 있습니다 . 그러나 MTA가 “로컬 메일 전용”(아래 오류 메시지에서 알 수 있듯이)으로 구성되어 있으며 외부에서 온 메시지를받지 않기 때문에 현재이 계정으로 메일 받을 수 없습니다 .your-login@hostnameyour-login@fqdnhostname -f

편집 : “원격 도메인으로 메일 발송이 지원되지 않음”효과로 인해 오류 메시지가 표시되면 ISP가 이메일 전송을 차단 했습니까? 이 주위에 어떤 방법이 있습니까?

아니; 이 오류 메시지는 자신의 컴퓨터에서 반환됩니다. 메일 서버는 한 사용자에서 다른 사용자로 (일반적으로 cronjob이 실패하면 cron 데몬 에서) 로컬 메일 만 전송하도록 구성됩니다 . 일반적으로 이러한 메시지에 가서 읽을 사용하고 , , , 또는 유사한 프로그램. (IIRC, Thunderbird는 로컬 메일 스풀도 가져올 수있었습니다.)/var/mail/loginmailmuttre-alpine

다른 사이트와 메일을주고 받도록 메일 서버를 재구성하는 것은 어렵지 않습니다. 설치된 MTA 및 Linux 배포판에 따라 단일 명령으로도 충분할 수 있습니다 (예 : dpkg-reconfigure postfix시스템이 Postfix가있는 Debian 인 경우).

그러나 개인용 컴퓨터에서이 계정을 사용하고 있다고 생각하므로 외부 메일 계정 (예 : Gmail 주소가있는 경우)을 대신 사용하는 것이 좋습니다. 어떤 MTA가 설치되어 있는지 확인한 후 (Ubuntu / Debian에서 dpkg -S /usr/sbin/sendmail알려줄 것임) google을 program-name relay gmail학습하려면 ” “를 검색하십시오.

또는 릴레이 용으로 특별히 설계된 MTA를 설치하십시오. msmtp그리고 esmtp좋은 선택하고 쉽게 구성 할 수 있습니다.


답변

보내는 사용자의 계정 이름 및 호스트 이름입니다 (예 🙂 root@myserver. 외부에서 전자 메일을받을 수있는 실제 사서함 일 필요는 없습니다.


답변

mail 명령은 현재 계정으로 메일을 보냅니다 (예 : username @ domain; 그러나 일반적으로 인터넷 서비스 제공 업체는 사용자가 스팸을 피하기 위해 관련 포트를 차단하여 자신의 메일 서버를 실행하지 못하도록하여 전자 메일이 전송되지 않습니다.

그러나 전송 문제는 컴퓨터 구성과 관련이있을 수도 있습니다.

편집 : 메일이 예를 들어 gmail 등의 이메일을 보내도록 설정 ~ / .mailrc 파일에 다음 정보를 입력하십시오.이 파일은 기본 구성을 메일로 제공합니다. 그러나 chmod 600 ~ / .mailrc를 사용하여이 파일에 액세스 할 수 있는지 확인하십시오.

account gmail {
set smtp-use-starttls
set ssl-verify=ignore
set smtp=smtp.gmail.com:587
#set smtp-auth=login
set smtp-auth-user=name@gmail.com
set smtp-auth-password=pass
set from=name@gmail.com
}

이 경우 이메일은 “name@gmail.com”에서 발송됩니다.