msmtp가 설치된 OpenWRT 라우터가 있습니다. 현재 공용 IP 주소를 보내고 Cron이 15분마다 이를 실행하도록 하는 명령줄(또는 .sh 파일)을 작성하고 싶습니다.
이 게시물을 찾았습니다. 명령을 실행하고 결과를 이메일로 보내세요.
msmtp로 동일한 작업을 시도했는데 제대로 작동했습니다. 다음을 수행했습니다.
kdig +short myip.opendns.com @resolver1.opendns.com |메일 전송 프로토콜 [이메일 보호됨]
현재 공인 IP 주소가 포함된 이메일을 받았지만, 아무것도 설정하지 않았기 때문에 당연히 제목이 없습니다. 이제 msmtp의 경우 주제를 넣는 방법은 다음과 같습니다.
echo "제목: 현재 공용 IP" |[이메일 보호됨]
하지만 이 두 가지를 어떻게 결합해야 할지 모르겠습니다... 도움을 주시면 정말 감사하겠습니다!
답변1
나는 이 접근법을 인정할 수 없습니다. 다른 곳에서 본 적이 있지만 이 작은 조각은 매개 변수를 확인하고 보다 유연한 방식으로 추가하면 개선될 수 있지만 다음과 같은 아이디어를 얻을 수 있습니다.
kdig +short myip.opendns.com @resolver1.opendns.com |{
SUBJ="A Subject"
echo "From: \"name\"<[email protected]>"
echo "To: \"me\"<[email protected]>"
echo "Subject: ${SUBJ}"
# Now repeat what was piped in
cat /dev/fd/0
} | msmtp [email protected]