これは簡単な質問かもしれませんが、HOST2(サフィックスMTAを含む)に電子メールを送信できるように端末でHOST1(サフィックス/ MTAなし)を起動すると、mail -s "test email" user@HOST2 < /dev/null
なぜ次のエラーが発生しますか?
mail: Null message body; hope that's ok
mail: cannot send message: Process exited with a non-zero status
これにより、tail -f /var/log/mail.log
次のようになります。
Dec 1 17:00:24 HOST1 postfix/sendmail[21790]: fatal: open /etc/postfix/main.cf: No such file or directory
これはHOST1にPostfixをインストールする必要があることを意味しますか?これは少し過度のようです... HOST2はポート25でTelnetを許可します。
user@HOST1:~$ telnet HOST2 smtp
Trying 192.168.2.5...
Connected to HOST2.domain.home.
Escape character is '^]'.
220 HOST2.domain.home ESMTP Postfix (Debian/GNU)
私はここで非常に単純なものを見逃していることを知っています。だからご了承ください。私の質問はHOST1にもMTAが必要ですか?
main.cf
私のHOST2の関連ビットは次のとおりです。
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = HOST2.domain.home
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = HOST2.domain.home, HOST2, localhost.localdomain, , localhost
relayhost =
mynetworks = 192.168.2.0/24 127.0.0.0/8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = 192.168.2.5, 127.0.0.1
inet_protocols = ipv4
myorigin = /etc/mailname
default_transport = error
relay_transport = error
HOST1とHOST2は同じサブネット192.168.2.0/24にあります。/etc/hosts
両方のコンピュータにそれぞれのLAN IPを設定しました。いいえ、私の目標は、LANにMTAをインストールして、他のコンピュータからシステム統計などを含むcrontabメールを中央のMTAに送信し、Thunderbirdを使用してMTAコンピュータに接続し、すべてのLANシステムをダウンロードすることです。メール。 HOST1がMTAにTelnetで接続しているときにMTAがポート25に応答する場合、そのmail
コマンドを使用して電子メールを送信できないのはなぜですか?すべてのコンピュータにMTAをインストールする必要がある場合は、多くの作業になります...しかし、この投稿私は実際にそれをしなければならないかもしれないという意味です。
答え1
mailx(メールとも呼ばれる)はsmtpオプションを使用して直接送信できます。
mail -s "test email" -S smtp=HOST2 user@HOST2 < /dev/null
これはデフォルトで sendmail を使用する MTA を使用しないように指示します。
答え2
問題が解決しました。mail
MTA が HOST1 にインストールされていない場合、HOST1 から HOST2 までのコマンドは使用できません。 HOST1でThunderbirdを使用すると機能します。これは、HOST2 の MTA がポート 25 の LAN で電子メールを受け入れることを示したいという目標に当てはまります。