私はAzure ci / cdパイプラインでUbuntu 20.04のテストを実行しています。テストが完了したら、Azureパイプラインにテストレポートを添付してチームに電子メールを送信するタスクを作成しました。
Azureタスクでbashスクリプトを使用しています。
コードは次のとおりです。
echo "line1"
sudo apt install mailutils
echo "line2"
sudo apt install mutt
echo "line3"
echo -e "Test Message" | mutt -s "[E2E ]TestReport - Test Status" -- [email protected]
この機能は現在時々動作します。私のメールボックスに名前がある人から電子メールを受け取りました。vsts@fv-az355-724.norxwxgvcn4uzhpoaxg0br3vlg.fx.internal.cloudapp.net
このメールアドレスは毎回異なります。
私の仕事はCI / CDパイプラインの一部なので、展開が発生するたびにこの電子メールが自動的に生成されると思います。組織の電子メールシステムは何らかの方法でスパムとして処理し、毎回許可しません。
~/.muttrc
また、ファイルを編集してホスト名を設定してみました。
そのホスト名からメールをもう一度送信してから停止しました。エラーや失敗はありません。
この問題をどのように解決できますか?
投稿の編集:ログの表示中にログに次のものが見つかりました。ログはかなり長いですが重要なようです。 Mailutilsはpostfix自体もインストールします。
Creating /etc/postfix/dynamicmaps.cf
Adding group `postdrop' (GID 129) ...
Done.
setting myhostname: fv-az356-758.todi3lz1wlfenaxowbnpzhq2oe.fx.internal.cloudapp.net
setting alias maps
setting alias database
changing /etc/mailname to fv-az356-758.todi3lz1wlfenaxowbnpzhq2oe.fx.internal.cloudapp.net
setting myorigin
setting destinations: $myhostname, fv-az356-758.todi3lz1wlfenaxowbnpzhq2oe.fx.internal.cloudapp.net, localhost.todi3lz1wlfenaxowbnpzhq2oe.fx.internal.cloudapp.net, , localhost
setting relayhost:
setting mynetworks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
setting mailbox_size_limit: 0
setting recipient_delimiter: +
setting inet_interfaces: all
setting inet_protocols: all
/etc/aliases does not exist, creating it.
WARNING: /etc/aliases exists, but does not have a root alias.
私の組織の電子メールがこの電子メールIDをスパムとして処理し、自動的に拒否しないようにpostfixでmyhostnameとターゲットを変更する方法はありますか?
ベストアンサー1
実際にあなたの質問に直接答えるのではなく、根本的な問題に対する解決策を提供できるポインタを提供することです。
mutt
組み込みのSMTPハンドラを使用して電子メールを組織に直接送信するか、電子メールをpostfix
同じシステムに転送し、そのシステムからメッセージを組織に直接送信するようにします。
mutt
1つのオプションは、認証されたSMTPを使用して組織内の有効なユーザーに直接転送するように構成することです。これを行うには、組織内でユーザー名と関連するパスワードを入力する必要があります。本当にそうしてはいけない自分のものを使ってください。
引用:https://wiki.archlinux.org/title/mutt#Native_SMTP_support
set my_pass = 'account really long and complex password'
set my_user = 'account name'
set realname = 'Account Real Name'
set from = account_email_address@your_organisation.com
set use_from = yes
set smtp_pass = $my_pass
set smtp_url = smtps://$my_user@your_organisation_smtp_server.com
set ssl_force_tls = yes
もちろん、これは完璧ではありません。特に、CI / CDパイプラインにユーザー名とパスワードの組み合わせが含まれているので、システム管理およびセキュリティスタッフと協力してこの問題を解決してください。認証されていない送信者(送信者)アドレスをホワイトリストに追加するなどの代替ソリューションがあるかもしれません。