次のスクリプトをローカルで使用してメールを受け取ることができます。Docker Containerでcurl(smpt)経由でメールを送信
rtmp_url="smtp://smtp.xxx.com:25"
rtmp_from="[email protected]"
rtmp_to="[email protected]"
file_upload="mail.txt"
echo "From: $rtmp_from
To: $rtmp_to
Subject: example of mail
Cc:
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=\"MULTIPART-MIXED-BOUNDARY\"
--MULTIPART-MIXED-BOUNDARY
Content-Type: multipart/alternative; boundary=\"MULTIPART-ALTERNATIVE-BOUNDARY\"
--MULTIPART-ALTERNATIVE-BOUNDARY
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
This is an email example. This is text/plain content inside the mail.
--MULTIPART-ALTERNATIVE-BOUNDARY--
--MULTIPART-MIXED-BOUNDARY
Content-Type: application/octet-stream;
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=\"logs.txt\"" > ./mail.txt
cat ./mail.txt | base64 >> ./mail.txt
# end of uploaded file
echo "--MULTIPART-MIXED-BOUNDARY--" >> ./mail.txt
echo "sending ...."
curl --url 'smtp://smtp.xxx.com:25' --ssl-reqd --mail-from $rtmp_from --mail-rcpt $rtmp_to -T './mail.txt' --insecure
しかし、私はこのスクリプトをドッカーのコンテナで実行しようとしています。コンテナ内でこのエラーが発生する:smtp.xxx.com:25への接続に失敗しました。ホストするルートがありません。 私のパソコンでは、mailhubを/etc/ssmtp/ssmtp.confのsmtp.xxx.comに変更したので、ローカルで動作します。私はドッカーには新しく、どのようにドッカーのコンテナでこれを達成できるのか分かりません。助けてください。
オフィスネットワークでこれを行っていますか?独自の/カスタムDNSサーバーをお持ちですか? –
はい、オフィスネットワーク内です。しかし、私は端末でこれを実行すると私は電子メールを受け取ることができます。私はドッカーのコンテナでどのように設定するのか分かりません。 – Aki