web-dev-qa-db-ja.com

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

それで、私は私のサーバーから電子メールを送りたいです。

mailxをインストールしました

apt-get install mailx

しかし、次のようなコマンド

mail -s "Hello world" [email protected]

/ var/spool/mail / で実際にエラーが発生しています:

Mailing to remote domains not supported.

なぜそれが起こっているのですか?

11
bobobobo

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

17
vmfarms

Mailxは完全なSMTPインフラストラクチャを想定しているため、デフォルトでは構成されていません。インストールされているSMTPサーバーの種類(ある場合)はありますか(postfix、exim、sendmail、qmailなど)?

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

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

さまざまなコメントで指摘されているように、正しく機能させるには、dpkg-reconfigure exim4-configを実行し、ウィザード内で最初のinternet option。ウィザード内の後続のダイアログボックスでは、デフォルトは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'

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

1
cnst

内部SMTPサーバーがインストールされていない場合、Gmail SMTPサーバーなどを介してメールを送信できます。sSMTPMTAをインストールして、gMail SMTPサーバーまたは別の外部SMTPサーバーで構成できます。

0
aleroot