Mengirim email dari server saya

11

Jadi, saya ingin mengirim email dari server saya.

Saya menginstal mailx

apt-get install mailx

Tapi perintahnya seperti

mail -s "Hello world" [email protected]

Sebenarnya memberikan kesalahan pada / var / spool / mail / yang mengatakan:

Mailing to remote domains not supported.

Mengapa itu terjadi?

bobobobo
sumber

Jawaban:

17

MTA apa yang Anda gunakan secara lokal? mailhanya memberi Anda kemampuan untuk membentuk pesan email, tetapi Anda masih perlu dan MTA untuk melakukan pengiriman yang sebenarnya? Secara default, sebagian besar distribusi datang dengan sendmail. Anda mungkin perlu menginstal MTA lain atau mengonfigurasikan yang sekarang untuk mendukung pengiriman luar.

vmfarms
sumber
1
Dari logfile di sini, sepertinya exim 4.69
bobobobo
6
Jika Anda menjalankan Debian / Ubuntu, Anda harus mengedit /etc/exim4/update-exim4.conf.confdan mengubah baris untuk membaca dc_eximconfig_configtype='internet'dan memulai kembali exim. Jika Anda menggunakan distro lain, pastikan baris ini terlihat seperti inihostlist relay_from_hosts = 127.0.0.1
vmfarms
10
Sebenarnya saya menggunakan perintah dpkg-reconfigure exim4-config"penyihir" dan berfungsi sekarang! Terima kasih!
bobobobo
2

Karena mailx mengharapkan infrastruktur SMTP penuh, yang tidak dikonfigurasi secara default. Server SMTP jenis apa, jika ada, yang telah Anda instal (mis. Postfix, exim, sendmail, qmail)?

Sven
sumber
Saya yakin saya memiliki exim
bobobobo
1
# 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
#

Tampaknya Debian mungkin datang dengan exim4yang diatur untuk tidak bekerja dengan benar pada mesin yang terhubung internet di mana port smtp keluar tidak diblokir.

Seperti ditunjukkan dalam berbagai komentar, untuk membuatnya bekerja dengan benar, kita harus menjalankan dpkg-reconfigure exim4-config, dan di dalam wizard, pilih internetopsi pertama . Perhatikan bahwa dalam kotak dialog berikutnya dalam wizard, default masih diatur untuk hanya mendengarkan localhostalamat IPv4 / IPv6, jadi, tampaknya, jika Anda membiarkan default lainnya, Anda masih meninggalkan port SMTP yang masuk saja.

Untuk memverifikasi penyihir berfungsi dengan benar, Anda dapat memeriksa Debian-spesifik /etc/exim4/update-exim4.conf.conf(ya, itu ganda .conf.conf, itu bukan salah ketik), yang memainkan peran dalam kegagalan ini. Inilah bagian-bagian yang relevan setelah dijalankan dpkg-reconfigure exim4-configdan hanya mengubah opsi pertama dalam wizard, yang memungkinkan pengiriman email, tetapi membiarkan port SMTP hanya terbuka untuk mesin itu sendiri (opsi default jika Anda cukup mengklik-dalam di konfigurasi ulang setelah opsi pertama) :

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

Solusi lain adalah menginstal DragonFly Mail Agent di jessie dan lebih tinggi - https://packages.debian.org/jessie/dma - yang merupakan implementasi sederhana dari MTA, mengimplementasikan semua hal-hal surat UNIX yang baik kecuali untuk SMTP yang masuk, jadi , Anda tidak perlu khawatir tentang kesalahan konfigurasi atau kerentanan eksternal.

cnst
sumber
0

Jika Anda tidak menginstal server SMTP internal, Anda dapat mengirim email misalnya melalui server SMTP gmail, Anda dapat menginstal sSMTP MTA dan mengkonfigurasinya dengan Server SMTP gMail, atau server SMTP eksternal lainnya.

aleroot
sumber