Linuxシステムでは、システムメールが他のsmtpサーバーを介して送信されるように設定できますか?認証が必要な場合もありますか?では、どうすればよいですか?
不明な場合は例を挙げてください。コマンドラインに次のように入力した場合:
cat body.txt | mail -s "just a test" [email protected]
外部SMTPサーバー(Gmailなど)を介してこのメールを送信できますか?
私は「コマンドラインからGmailにメールを送信する方法」を探しているのではなく、特定のSMTPサーバーまたはおそらくSMTPサーバーのアカウント(送信を無視することができます)を使用するようにシステム全体を構成するオプションを探しています。送信者の住所)。
答え1
私はsSMTPが非常に使いやすいと思います。
Debian ベースのシステムの場合:
apt-get install ssmtp
次に、/etc/ssmtp/ssmtp.confで設定ファイルを編集します。
Gmailを使用してメールを送信する設定例:
# root is the person who gets all mail for userids < 1000
[email protected]
# Here is the gmail configuration (or change it to your private smtp server)
mailhub=smtp.gmail.com:587
[email protected]
AuthPass=yourGmailPass
UseTLS=YES
UseSTARTTLS=YES
ノート:システムに「mail」コマンドがあることを確認してください。 mailutils パッケージは Debian ベースのシステムでこの機能を提供する必要があります。
修正する:一部の人々(および他のLinuxディストリビューションのバグレポート)は、sSMTPが「空白」または「#」文字を含むパスワードを受け入れないことを報告しました。 sSMTPが機能しない場合に該当する可能性があります。
答え2
~のためサフィックス:
- 外部メールリレーのIPを追加し、
/etc/hosts
ここにエイリアスメールリレーを追加します。 サフィックス構成の変更:
relayhost = [mailrelay] smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/smtp_auth smtp_sasl_security_options = noanonymous
編集する
/etc/postfix/smtp_auth
mailrelay login:password
に変換するハッシュ形式
postmap /etc/postfix/smtp_auth
言うまでもなく、ルートだけがこれを読むことができるはずです。chmod u=r,og=-
答え3
mailxはCLIでsmtpサーバー設定をサポートしています...
echo "message" | mailx -S smtp=$smtphost:$smtpport -s "subject line" -v [email protected]
smtpサーバーが認証されていないメール転送を許可する限り、インストールするものはありません。
smtpサーバー設定に正解はありませんみんなLinuxシステムにインストールできるソフトウェアです。各電子メールクライアントはSMTPサーバーとして構成できます。
答え4
以下の手順に従ってローカルEXIM SMTPサーバーを設定してください。これページのオプションで、「スマートホストから送信されたメール、ローカルメールなし」オプションを選択します。最初エキシム構成画面。これにより、「mail」または「mailx」コマンドでメールを受信し、すべてのメールをスマートホスト(あなたのGmailサーバー)に転送して配信できるSMTPサーバーがボックスに設定されます。
Gmail サーバー経由でメールを送信するには、次の設定が必要です。EximのTLSサポート、これは小さな問題ではありません。これどのように説明してください。これはGmail に関するその他の手順へのリンクが含まれています。これを完了するには、数時間ほど時間を費やす必要があります。 Gmailサーバーを介して転送を試みる前に両方のExim TLS設定をデバッグできるように、まずrootアクセス権を持つTLS対応SMTPサーバーにメールボックスから電子メールを送信することをお勧めします。通信は暗号化されているため、tcpdumpなどのツールを使用して有線でプロトコルを分析することはできません。