GNU/Linux >> Linux の 問題 >  >> Linux

サーバーからメールを送信する

解決策 1:

ローカルで使用している MTA は何ですか? mail メールメッセージを作成する機能を提供するだけで、実際の配信を行うには MTA が必要ですか?デフォルトでは、ほとんどのディストリビューションに sendmail が付属しています。別の MTA をインストールするか、外部配信をサポートするように現在の MTA を構成する必要がある可能性があります。

解決策 2:

mailx は、デフォルトでは構成されていない完全な SMTP インフラストラクチャーを想定しているためです。インストールされている SMTP サーバーの種類 (postfix、exim、sendmail、qmail など) を教えてください。

解決策 3:

# fgrep remote /var/log/exim4/mainlog.1 | sed -E 's#([ <])[^ <][email protected][^ >]+([ >])#\[email protected]\2#g' | head -1
2019-01-08 00:47:00 1ggebk-00055M-St ** [email protected] <[email protected]> R=nonlocal: Mailing to remote domains not supported
#

Debian には exim4 が付属しているようです これは、送信 SMTP ポートがブロックされていないインターネットに接続されたマシンでは正しく機能しないように設定されています。

さまざまなコメントで指摘されているように、正しく機能させるには、dpkg-reconfigure exim4-config を実行する必要があります をクリックし、ウィザード内で最初の internet を選択します オプション .ウィザード内の後続のダイアログ ボックスでは、デフォルトで localhost のみをリッスンするように設定されていることに注意してください。 IPv4/IPv6 アドレスであるため、他のデフォルトをそのままにしておくと、着信 SMTP ポートをそのままにしておくことになります。

ウィザードが正しく機能したことを確認するには、Debian 固有の /etc/exim4/update-exim4.conf.conf をチェックします。 (はい、ダブル .conf.conf です 、それはタイプミスではありません)、これがこの大失敗に一役買っています。 dpkg-reconfigure exim4-config を実行した後の関連部分は次のとおりです。 ウィザード内の最初のオプションのみを変更すると、メールの送信が有効になりますが、SMTP ポートはマシン自体に対してのみ開いたままになります (最初のオプションの後で再構成をクリックするだけの場合のデフォルトのオプション):

dc_eximconfig_configtype='internet'
…
dc_local_interfaces='127.0.0.1 ; ::1'

もう 1 つの解決策は、DragonFly メール エージェントを jessie 以降にインストールすることです — https://packages.debian.org/jessie/dma — これは MTA の単純な実装であり、受信 SMTP を除くすべての優れた UNIX メール機能を実装します。 、構成ミスや外部の脆弱性について心配する必要はありません。


Linux
  1. 電子メールサーバーを構成するためのシステム管理者ガイド

  2. mailコマンドを使用してLinuxターミナルまたはスクリプトから電子メールを送信する

  3. Linux上の外部SMTPサーバーを使用してコマンドラインからメールを送信する

  1. メールリレーを設定する

  2. コマンド ラインから電子メールを送信するにはどうすればよいですか?

  3. Debian サーバーで受信した電子メールを読む方法

  1. メール サーバー コンポーネント – MTA、MDA、および MUA

  2. mail コマンドを使用してメールを送信するときの from ユーザーを指定します。

  3. CentOS サーバーでメールを送信する方法を教えてください。