コマンド ラインのメールを使用してメールを送信することはできませんが、telnet smtp コマンドを使用すると送信できます。

コマンド ラインのメールを使用してメールを送信することはできませんが、telnet smtp コマンドを使用すると送信できます。

Ubuntu システムに postfix をインストールし、/etc/postfix/main.cf 設定ファイルに relayhost と mynetworks を設定しました。

これで、このサーバーのポート 25 に Telnet し、SMTP コマンドを発行して電子メールを送信できるようになりました。Gmail アカウントにテストを実行したところ、電子メール メッセージを正常に受信しました。

しかし、同じ Linux ホストにメール (apt-get mailutils) をインストールし、次のコマンドを実行しました。

mail -s "test email" myname@gmailcom

メッセージテキストを入力して Ctrl + D を押しましたが、エラーは表示されませんでしたが、受信者にメッセージが届きませんでした。

メール設定で SMTP サーバーを何らかの方法で設定する必要がありますか? 送信待ちの何らかのキューにあるメッセージを確認する必要がありますか?

解決するためのヒントはありますか?

さらに詳しい情報:

私の /etc/mailname 設定ファイルには、文字列 mail.mydomain.com が含まれていますが、Linux ボックスはドメインで構成されていません (テスト システムのみです)。これを mail のみに変更する必要がありますか? (mail はボックスのホスト名です)。

送信者を指定できるメール構文を見つけました。これは私にとってはうまく機能します。

mail -s "message 5" -a "From: [email protected]" [email protected]

しかし、そうする必要がないように修正したいです。

メールを対話的に使用したときに表示されるエラーは次のとおりです。

Return-Path: <>
X-Original-To: johnny@mail
Delivered-To: johnny@mail
Received: by mydomain.com (Postfix)
        id BC328647FF; Sun,  6 Jul 2014 18:04:51 +0100 (BST)
Date: Sun,  6 Jul 2014 18:04:51 +0100 (BST)
From: [email protected] (Mail Delivery System)
Subject: Undelivered Mail Returned to Sender
To: johnny@mail
Auto-Submitted: auto-replied
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status;
        boundary="3EEA5647FE.1404666291/mydomain.com"
Message-Id: <[email protected]>

This is a MIME-encapsulated message.

--3EEA5647FE.1404666291/mydomain.com
Content-Description: Notification
Content-Type: text/plain; charset=us-ascii

This is the mail system at host mydomain.com.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

                   The mail system

<[email protected]>: host post.demon.co.uk[91.221.168.151] said: 504 5.5.2
    <johnny@mail>: Sender address rejected: need fully-qualified address (in
    reply to RCPT TO command)

--3EEA5647FE.1404666291/mydomain.com
Content-Description: Delivery report
Content-Type: message/delivery-status

Reporting-MTA: dns; mydomain.com
X-Postfix-Queue-ID: 3EEA5647FE
X-Postfix-Sender: rfc822; johnny@mail
Arrival-Date: Sun,  6 Jul 2014 18:04:46 +0100 (BST)
Final-Recipient: rfc822; [email protected]
Action: failed
Status: 5.5.2
Remote-MTA: dns; post.demon.co.uk
Diagnostic-Code: smtp; 504 5.5.2 <johnny@mail>: Sender address rejected: need
    fully-qualified address

--3EEA5647FE.1404666291/mydomain.com
Content-Description: Undelivered Message
Content-Type: message/rfc822

Return-Path: <johnny@mail>
Received: by mydomain.com (Postfix, from userid 1000)
        id 3EEA5647FE; Sun,  6 Jul 2014 18:04:46 +0100 (BST)
Subject: msg 10
To: <[email protected]>
X-Mailer: mail (GNU Mailutils 2.99.98)
Message-Id: <[email protected]>
Date: Sun,  6 Jul 2014 18:04:46 +0100 (BST)
From: johnny@mail (John Hammond)
test message

--3EEA5647FE.1404666291/mydomain.com--

答え1

メールがキューに残っているかどうかを確認するには、mailqコマンドラインで を使用するか、/var/spool/mailディレクトリの内容を確認してください。Postfix はログにも記録されているはずです/var/log/maillog。別のシェルセッションを開き、mail別のシェルセッションで実行するときにこのファイルを tail することができます。tail -f /var/log/maillog

関連情報