sendmail - リレーを使用してメールを送信する(なぜ機能しないのですか?)

sendmail - リレーを使用してメールを送信する(なぜ機能しないのですか?)

構成を構成しようとしています。メールを送信使うリレー。複数のプロセスを試しましたが、他のサービスが同じリレーを使用して動作するため、なぜ動作しないのかわかりません。

以下は私が使用するインストールプロセスです。

何が起こっているのかを診断するにはどうすればよいですか?何が間違っている可能性がありますか?

ありがとうございます!


インストールと構成

更新してインストールするには、次のコマンドを実行します。

yum -y update
yum -y install sendmail-cf
yum -y install m4
yum -y install cyrus-sasl-plain

認証ファイルを保存するディレクトリを作成します。

mkdir /etc/mail/authinfo
chmod 700 /etc/mail/authinfo

認証ファイルの生成...

ヒント:ファイル名は「smtp-auth」などの任意の名前を持つことができます。

read -r -d '' FILE_CONTENT << 'HEREDOC'
BEGIN
AuthInfo:smtp.my_domain.com.br "U:root" "I:my_user@my_domain.com.br" "P:my_password"

END
HEREDOC
echo -n "${FILE_CONTENT:6:-3}" > "/etc/mail/authinfo/smtp-auth"

上記で作成した認証ファイルのハッシュマップファイルを生成します。

enter code heremakemap ハッシュ /etc/mail/authinfo/smtp-auth < /etc/mail/authinfo/smtp-auth

SMART_HOSTを使用したSendmailの設定...

「MAILER(smtp)dnl」行の前に、「sendmail.mc」構成ファイルに次の構成行を追加します。

vi /etc/mail/sendmail.mc

コンテンツ...

define(`SMART_HOST', `smtp.my_domain.com.br')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')dnl
define(`ESMTP_MAILER_ARGS', `TCP $h 587')dnl
define(`confAUTH_OPTIONS', `A p')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo', `hash -o /etc/mail/authinfo/smtp-auth.db')dnl
MASQUERADE_AS(my_domain.com.br)dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN(my_domain.com.br)dnl

Sendmail設定を再構築します...

make -C /etc/mail

sendmailサービスを有効にして起動します...

systemctl enable sendmail.service
systemctl restart sendmail.service

テストと出力

[root@localhost ~]# read -r -d '' EMAIL_CONTENT << 'HEREDOC'
> BEGIN
> From: my_user@my_domain.com.br
> To: recipient@recipient_domain.com
> Subject: Fail2ban test
> 
> Fail2ban test
> 
> END
> HEREDOC
[root@localhost ~]# echo -n "${EMAIL_CONTENT:6:-3}" | sendmail -Am -d60.5 -v recipient@recipient_domain.com
map_lookup(dequote, root, %0=root) => NOT FOUND (0)
map_lookup(host, recipient_app.com, %0=recipient_app.com) => recipient_app.com. (0)
map_lookup(mailertable, recipient_app.com, %0=recipient_app.com) => NOT FOUND (0)
map_lookup(mailertable, .com, %0=.com, %1=recipient_app, %2=recipient_app) => NOT FOUND (0)
map_lookup(mailertable, ., %0=., %1=recipient_app.com) => NOT FOUND (0)
recipient@recipient_domain.com... Connecting to smtp.my_domain.com.br port 587 via relay...
220 a2-smithers5.uhserver.com ESMTP
>>> EHLO localhost.localdomain
250-a2-smithers5.uhserver.com
250-PIPELINING
250-SIZE 41943040
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN LOGIN PLAIN
250-AUTH=LOGIN PLAIN LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
map_lookup(macro, {TLS_Name}, %0={TLS_Name}, %1=smtp.my_domain.com.br) =>  (0)
map_lookup(access, TLS_Srv:smtp.my_domain.com.br, %0=TLS_Srv:smtp.my_domain.com.br) => NOT FOUND (0)
map_lookup(access, TLS_Srv:my_domain.com.br, %0=TLS_Srv:my_domain.com.br) => NOT FOUND (0)
map_lookup(access, TLS_Srv:com.br, %0=TLS_Srv:com.br) => NOT FOUND (0)
map_lookup(access, TLS_Srv:br, %0=TLS_Srv:br) => NOT FOUND (0)
map_lookup(access, TLS_Srv:200.147.36.31, %0=TLS_Srv:200.147.36.31) => NOT FOUND (0)
map_lookup(access, TLS_Srv:200.147.36, %0=TLS_Srv:200.147.36) => NOT FOUND (0)
map_lookup(access, TLS_Srv:200.147, %0=TLS_Srv:200.147) => NOT FOUND (0)
map_lookup(access, TLS_Srv:200, %0=TLS_Srv:200) => NOT FOUND (0)
map_lookup(access, TLS_Srv:, %0=TLS_Srv:) => NOT FOUND (0)
map_lookup(authinfo, AuthInfo:smtp.my_domain.com.br, %0=AuthInfo:smtp.my_domain.com.br) => NOT FOUND (0)
map_lookup(authinfo, AuthInfo:200.147.36.31, %0=AuthInfo:200.147.36.31) => NOT FOUND (0)
map_lookup(authinfo, AuthInfo:, %0=AuthInfo:) => "U:my_user@my_domain.com.br" "I:my_user@my_domain.com.br" "P:brlight2012" "M:PLAIN" (0)
>>> AUTH PLAIN YWRtaW5AbGlnaHRiYXNlLmNvbS5icgBhZG1pbkBsaWdodGJhc2UuY29tLmJyAGJybGlnaHQyMDEy
235 2.7.0 Authentication successful
>>> MAIL From:<[email protected]> SIZE=97 [email protected]
550 5.7.1 Envio nao autorizado - Verifique o MX e/ou SPF do seu dominio
map_lookup(dequote, root, %0=root) => NOT FOUND (0)
map_lookup(dequote, root, %0=root) => NOT FOUND (0)
map_lookup(dequote, MAILER-DAEMON, %0=MAILER-DAEMON) => NOT FOUND (0)
map_lookup(host, my_domain.com.br, %0=my_domain.com.br) => my_domain.com.br. (0)
map_lookup(host, recipient_app.com, %0=recipient_app.com) => recipient_app.com. (0)
root... Connecting to local...
root... Sent
Closing connection to smtp.my_domain.com.br
>>> QUIT

メモ:「my_user@my_domain.com.br」アカウントは、ウェブメールから「recipient@recipient_domain.com」アカウントに電子メールを送信できます。

間違い:"550 5.7.1 Envio nao autorizado - Verifique o MX e/ou SPF do seu dominio" (ポルトガル語) / "550 5.7.1 不正転送 - ドメインの MX および/または SPF を確認してください" (英語)。

ベストアンサー1

  1. mcファイルには「x」引用符が必要です。 [問題修正で修正済み]

    1. 暗号化されていないSMTP接続を介して「プレーンテキスト」(暗号化されていない)パスワード転送を無効にする標準的な推奨事項を配布しました[pフラグ付きconfAUTH_OPTIONS]。

    2. あなたのスマートホストはプレーンテキスト認証のみを提供します。 [回答AUTH内容参照EHLO]しかし、暗号化された接続にアップグレードする機能は提供されません[STARTTLS応答なしEHLO]。

    3. 構成検証禁止する暗号化されていないSMTP接続を介して暗号化されていないパスワードを送信しますが、スマートホストは他のオプションを提供しません。

おすすめ記事