저는 ssmtp 패키지를 사용하여 g-mail을 통해 이메일을 보내고 있습니다. 모든 것이 잘 작동합니다. 유일한 이상한 점은 명령줄을 통해 메일을 보내면 "받는 사람 필드"가 이상하다는 것입니다.
ssmtp [email protected] < message.txt
기본적으로 "받는 사람" 필드에는 "공개되지 않은 수신자"만 표시됩니다.
"받는 사람:" 필드가 포함된 헤더를 설정할 수 있다는 내용을 읽었지만 mail
이 작업이 자동으로 수행되는 다른 시스템에서 명령을 사용할 때 이는 지나치게 복잡해 보입니다.
ssmtp
위의 구문을 변경하거나 추가 매개변수를 지정하지 않고 명령줄을 통해 메일을 보내는 더 쉬운 방법이 있습니까 ? (아마도 "To" 주소를 지정된 주소로 설정하는 구성 파일일 것입니다.
답변1
이 상황은 ssmtp
현재 진행 중인 작업에 대한 오해로 인해 발생합니다. 메시지에는 매우 중요한 차이가 있습니다.봉투(메일 라우팅에 사용되는 메일 서버) 및 메시지몸(이메일 클라이언트에 표시됨) 둘 다 To
및 을 가질 수 From
있으며 서로 다를 수 있습니다. 이것은좋아요!
ssmtp
봉투만 생성하고 MTA로 메일 배달을 용이하게 합니다. 그것은 당신이 전달하는 몸체가 완전히 형성되고모든 본문 헤더를 포함합니다.. 아무것도 추가하지 않습니다*(단, 메시지 처리 헤더 등을 삽입하기는 하지만 Received-by
). 나는 당신이 Subject:
이 메시지에도 그런 내용이 없다는 것을 알았을 것이라고 확신합니다 .
따라서 귀하의 질문에 대한 대답은 To:
해당 필드가 message.txt
.
To:
및 필드를 표시 하려면 다음과 같이 형식을 지정 Subject:
해야 합니다 message.txt
.
To: [email protected]
Subject: Message for you
Message text starts here.
blah blah blah.
*완전히 틀린 말은 아닙니다. 헤더는 유일한 필수 헤더 이므로 From:
헤더는 봉투에서 파생되어 누락된 경우 삽입됩니다.