Pagi ini, dalam rangka untuk memperbaiki masalah dengan ketidakcocokan nama di sertifikat keamanan, saya mengikuti langkah-langkah yang direkomendasikan dari Cara untuk memperbaiki mail server SSL?, tapi sekarang, ketika mencoba untuk mengirim email dari klien (dalam hal ini klien Windows Mail), saya menerima pesan galat berikut ini.
menolak e-mail adalah '[email protected]'. Subjek 'Ini adalah tes. ', Rekening: 'e-mail.domain.com', Server: 'e-mail.domain.com', Protokol: SMTP, Respon Server: '554 5.7.1 [email protected]: Relay akses ditolak', Port: 25, Aman(SSL): Tidak ada, Server Error: 554, Kesalahan Nomor: 0x800CCC79
Edit: saya masih bisa mengambil email dari akun ini, saya mengirim email ke akun lain di domain yang sama. Aku hanya bisa't mengirim email ke penerima di luar domain kami.
Saya mencoba menonaktifkan TLS sama sekali tapi tidak ada dadu, saya masih mendapatkan kesalahan yang sama.
Ketika saya cek file mail.log
, saya lihat berikut ini.
Jul 18 08:24:41 company imapd: LOGIN, [email protected], ip=[::ffff:111.111.11.11], protocol=IMAP
Jul 18 08:24:42 company imapd: DISCONNECTED, [email protected], ip=[::ffff:111.111.11.11], headers=0, body=0, rcvd=83, sent=409, time=1
Jul 18 08:25:19 company postfix/smtpd[29282]: connect from company.university.edu[111.111.11.11]
Jul 18 08:25:19 company postfix/smtpd[29282]: NOQUEUE: reject: RCPT from company.university.edu[111.111.11.11]: 554 5.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<UserPC>
Jul 18 08:25:19 company postfix/smtpd[29282]: disconnect from company.university.edu[111.111.11.11]
Jul 18 08:25:22 company imapd: DISCONNECTED, [email protected], ip=[::ffff:111.111.11.11], headers=13, body=142579, rcvd=3289, sent=215892, time=79
File utama.cf` terlihat seperti ini:
#
# Postfix MTA Manager Main Configuration File;
#
# Please do NOT edit this file manually;
#
#
# Postfix directory settings; These are critical for normal Postfix MTA functionallity;
#
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix
#
# Some common configuration parameters;
#
inet_interfaces = all
mynetworks = 127.0.0.0/8
mynetworks_style = host
myhostname = mail.domain.com
mydomain = domain.com
myorigin = $mydomain
smtpd_banner = $myhostname ESMTP 2.4.7.1 (Debian/GNU)
setgid_group = postdrop
#
# Receiving messages parameters;
#
mydestination = localhost, company
append_dot_mydomain = no
append_at_myorigin = yes
transport_maps = mysql:/etc/postfix/transport.cf
#
# Delivering local messages parameters;
#
mail_spool_directory = /var/spool/mail
mailbox_size_limit = 0
mailbox_command = procmail -a "$EXTENSION"
biff = no
alias_database = hash:/etc/aliases
local_recipient_maps =
#
# Delivering virtual messages parameters;
#
virtual_mailbox_maps=mysql:/etc/postfix/mysql_virt.cf
virtual_uid_maps=mysql:/etc/postfix/uids.cf
virtual_gid_maps=mysql:/etc/postfix/gids.cf
virtual_mailbox_base=/usr/local/virtual
virtual_maps=mysql:/etc/postfix/virtual.cf
virtual_mailbox_domains=mysql:/etc/postfix/virtual_domains.cf
#
# SASL paramters;
#
smtp_use_tls = yes
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtp_tls_CAfile = /etc/postfix/ssl/smptd.pem
smtp_tls_cert_file = /etc/postfix/ssl/smptd.crt
smtp_tls_key_file = /etc/postfix/ssl/smptd.key
smtpd_tls_CAfile = /etc/postfix/ssl/smptd.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smptd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smptd.key
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_sender_restrictions =
permit_sasl_authenticated
permit_mynetworks
smtpd_recipient_restrictions =
permit_sasl_authenticated
check_recipient_access hash:/etc/postfix/filtered_domains
permit_mynetworks
reject_unauth_destination
Sebagai catatan, majikan saya ingin dapat mengirim email dari klien (Thunderbird dan Outlook) baik dari dalam jaringan lokal kami dan di luar itu.
TLS hanya memungkinkan enkripsi pada sesi smtp dan doesn't secara langsung mempengaruhi apakah atau tidak Postfix akan diizinkan untuk menyampaikan pesan.
Menyampaikan pesan penolakan terjadi karena smtpd_recipient_restrictions aturan itu tidak cocok. Salah satu kondisi yang harus dipenuhi untuk memungkinkan pesan untuk pergi melalui:
smtpd_recipient_restrictions =
permit_sasl_authenticated
check_recipient_access hash:/etc/postfix/filtered_domains
permit_mynetworks
reject_unauth_destination
Untuk menjelaskan aturan-aturan:
permit_sasl_authenticated
izin dikonfirmasi pengirim melalui SASL. Ini akan diperlukan untuk mengotentikasi pengguna di luar jaringan anda yang biasanya diblokir.
check_recipient_access
Hal ini akan menyebabkan postfix untuk melihat ke dalam /etc/postfix/filtered_domains untuk aturan berdasarkan alamat penerima. (Dilihat oleh nama file pada file name, itu mungkin hanya memblokir domain tertentu... Periksa untuk melihat apakah gmail.com tercantum di sana?)
permit_mynetworks
Ini akan mengijinkan host dengan alamat IP yang sesuai dengan rentang IP yang ditentukan dalam $mynetworks. Di utama.lih anda diposting, $mynetworks diatur ke 127.0.0.1, sehingga hanya akan relay email yang dihasilkan oleh server itu sendiri.
Berdasarkan konfigurasi tersebut, klien e-mail anda akan perlu menggunakan SMTP Authentication sebelum diizinkan untuk menyampaikan pesan. I'm tidak yakin apa database menggunakan SASL. Yang ditentukan di /usr/lib/sasl2/smtpd.conf Agaknya ini juga menggunakan database yang sama seperti virtual anda pesan, jadi anda harus dapat mengaktifkan SMTP authentication pada klien e-mail anda dan akan mengatur semuanya.
smtpd_use_tls = tidak ada
Anda've keluarga TLS, jadi sekarang anda perlu untuk mengotorisasi jaringan lokal anda dengan menambahkannya ke mynetworks
. Misalnya,
mynetworks = 192.168.1.0/24 127.0.0.0/8
Hal ini akan memperbaiki pengiriman dari jaringan lokal saja. Untuk mengirim email dari luar jaringan lokal anda, anda'll perlu untuk mendapatkan TLS otentikasi bekerja.
Saya pikir anda kehilangan anda domain.com di mydestination, karena default relay_domains=$mydestination
, sehingga anda dapat menambahkan anda konfigurasi garis:
mydestinations = $mydomain, $myhostname, localhost, localhost.localdomain
atau:
relay_domains = $mydomain
Jangan lupa untuk me-restart postfix server (service postfix restart
) setiap kali anda mengedit postfix conf.
Aku punya masalah yang sama di Outlook (dengan dovecote dan postfix backend) dan saya menghabiskan dua hari mencari solusi dan tweaking saya config file. Semua yang perlu saya lakukan adalah memeriksa "Server requires authentication" dalam Keluar tab di mail di outlook dan pesan saya yang sekarang dikirim ke gmail. Lihat instruksi rinci tentang bagaimana untuk menemukan pengaturan di sini http://support.bluetie.com/node/440.
Masalah ini mengganggu saya untuk sementara waktu. Saya mencoba untuk menghubungkan dari server1.domain.com untuk server2.domain.com.
Berikut ini's bagaimana saya tetap ini -
#/etc/postfix/main.cf
mydomain = server1.domain.com
myhostname = $mydomain
virtual_alias_maps = hash:/etc/postfix/virtual
alias_database = hash:/etc/postfix/virtual
myorigin = /etc/mailname
mydestination = localhost.localdomain localhost $mydomain
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
Anda juga perlu memastikan bahwa anda memiliki set /etc/hosts dan /etc/hostname dengan benar dan pastikan bahwa anda menjalankan kode berikut setelah jejaring perubahan -
sudo service networking restart
dan berikut setelah perubahan konfigurasi postfix
sudo service postfix reload