私はmailxコマンドを使用してメールを送信していますが、2つの方法を試しました。
mailx -s "This is Subject" toAddr < bodyFile.txt
mailx -r "fromAddr" -s "This is Subject" toAddr < bodyFile.txt
同じエラーが発生します。
メールの送信:致命的:パラメータinet_interfaces:::1のローカルインタフェースが見つかりません。
次の点でこのエラーを解決する方法を知りたいです。
fromAddress
mailxはデフォルトで何を使用しますか?- mailxはデフォルトでどのメール転送エージェントアドレスを使用しますか?
- この値をどこで変更しますか?
答え1
# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
# more /var/log/maillog
Sep 1 17:07:50 izuf6cj2o216xp postfix/sendmail[25307]: fatal: parameter inet_interfaces: no local interface found for ::1
解決済み:
vim /etc/postfix/main.cf
#inet_interfaces = localhost
inet_interfaces = all
それから
service postfix start
答え2
Mailx
メール転送エージェント(MTA、インストールされているすべての項目:sendmail、eximなど)にメールを転送するためのコマンドラインツール。これはコマンドを呼び出すことによって行われます。メールを送信(通常/usr/sbin/sendmail
)。 MTAはメールを送信するためにこのコマンドを提供します。
あなたの場合、ループバックデバイスのIPv6アドレスからlocalhost()のサーバーに接続しようとしました::1
が、何も見つかりません。したがって、MTA が正しく構成されていないか (IPv4 ではなく IPv6 を使用)、IPv6 ネットワーク設定が正しくありません (ループバック インターフェイスに ::1 アドレスがない)。
基本~から-addressはユーザー名で、MTAはMTAで構成されているすべてのドメイン名を追加します(ルールを設定した場合は、メールを配信するために接続するメールサーバーなど、さまざまな基準に基づいてさらに上書きできます)。
MTA を設定してこれらの値を変更できます。
「mailxがデフォルトで使用するMTAアドレスは何ですか?」という質問がわかりません。私が言ったように、「どのMTAが使用しますか?」を意味する場合メールを送信これはコマンドなので、このコマンドを提供するインストール済みMTAパッケージを使用します。
答え3
おそらくmailxを実行して、デフォルトで使用されるローカルMTAを正しく設定していない可能性があります。
mailx
公開smtpアカウントから直接Eメールを送信できます。
echo "This is the text." | \
env MAILRC=/dev/null \
from=from@your_domain \
smtp=your_smtp_server:port \
smtp-auth-user=your_login \
smtp-auth-password=your_pwd \
smtp-auth=login \
smtp-use-starttls=yes \
mailx -n -s "test 1" to@domain
または、postfixやeximなどのローカルMTAをインストールして設定します。現在、一部のディストリビューションでは、デフォルトでMTAをインストールしません。