MIME 메시지의 전체 내용이 있는 경우 메시지를 보내는 데 가장 적합한 Linux 유틸리티는 무엇입니까? MIME 메시지에는 전체 헤더와 메시지 본문이 포함됩니다. 예:
Received: (qmail 32389 invoked by uid 0); 13 Jun 2017 09:24:51 -0400
Date: Tue, 13 Jun 2017 09:24:51 -0400
From: [email protected]
To: [email protected]
Subject: Test Email
Message-ID: <593fe7a3.IgSR+/BLy+NYXlVZ%[email protected]>
User-Agent: Heirloom mailx 12.5 7/5/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
The mail body goes here
위의 내용을 명령줄 유틸리티에 제공하여 보낸 사람, 제목 등 필드를 구문 분석하지 않고 "있는 그대로" 메시지를 다시 처리할 수 있기를 바랍니다. 지정된 외부 SMTP 서버(로컬 서버의 메일 대기열이 아님)를 통해 메시지를 보내야 합니다.
이를 달성하기 위해 어떤 명령줄 유틸리티를 사용할 수 있습니까?
답변1
sendmail
postfix/exim/... 에서 제공하는 "sendmail Look alike"를 사용할 수 있습니다 .
/usr/sbin/sendmail -i -- $recipients < message_file
-i
- 앞에 점이 있는 선을 특별히 처리하지 마십시오.
더 멋진 "sendmail Look alike"(예: 에서 제공 msmtp
)를 사용하여 "시스템 전체" 구성 없이 다른 smtp 호스트를 통해 직접 보낼 수 있습니다.
msmtp
는 데비안으로 배포되므로 다른 Linux 배포판에도 포함될 가능성이 높습니다.
https://packages.debian.org/search?searchon=names&keywords=msmtp
https://packages.debian.org/bookworm/msmtp
패키지: msmtp(...)
서버 프로필을 지원하는 경량 SMTP 클라이언트msmtp는 Mutt 및 기타 MUA(메일 사용자 에이전트)에서 메일을 보내는 데 사용할 수 있는 SMTP 클라이언트입니다. 최종 전달을 담당하는 SMTP 서버(예: 무료 이메일 제공업체)로 메시지를 전달합니다. 프로필을 사용하면 다양한 구성의 다양한 SMTP 서버를 사용하도록 쉽게 구성할 수 있으므로 모바일 클라이언트에 이상적입니다.
답변2
불행하게도 sendmail
다른 mailx
SMTP 서버를 지정할 수는 없습니다. 그러나 Andrzej의 답변을 ssh와 결합할 수 있습니다. -t
읽고 있는 파일/데이터에서 수신자를 읽으려면 해당 옵션을 사용하겠습니다 .
cat <messagefile> | ssh user@mailhost /usr/sbin/sendmail -i -t
<messagefile>
MIME 메시지가 포함된 파일이고 mailhost는 SMTP 서버입니다. user
SMTP 서버의 로그인 ID입니다.
답변3
달팽이들mailx
많은 개선 사항 중에서 명령줄에서 SMTP 서버를 지정할 수 있는 크게 향상된 대안입니다 .
예를 들어
s-nail -S "smtp=smtp://remote-server:port" < message.txt
암호화된 SMTP(STARTTLS, SMTPS 또는 SUBMISSION 사용) 및 SMTP AUTH도 지원합니다. man s-nail
자세히보다.
s-nail
여러 Linux 배포판용으로 사전 패키징될 수 있습니다(예: debian apt-get install s-nail
.