Terkadang saya perlu mengirim email melalui alamat pengirim yang biasanya diterima oleh alamat email catchall. Tetapi metode normal untuk memanipulasi returnmail bukanlah solusi yang bagus. Jadi saya menggunakan skenario "berfungsi" dengan i-MSCP + RoundCube:
- memperbaiki kotak surat dan satu kotak semua
- Jika saya perlu mengirim melalui alamat surat dinamis (akan ditangkap oleh catchall), saya mendaftar kotak surat (sementara untuk surat ini atau kotak surat + maju) dan menggunakan kredensial baru dengan RoundCube.
Tetapi sekarang saya memiliki server minimal tanpa perangkat lunak manajemen. Saya mengkonfigurasi postfix dengan kotak surat tetap dan satu catchall (berbasis regex + blacklist). Juga dovecot bekerja dengan IMAP dan kredensial catchall. Selain saya tidak dapat mengirim email melalui klien email saat ini (masalah otentikasi), saya ingin cara yang lebih mudah untuk mengirim email dari alamat apa pun. Saya tidak ingin mendaftarkan sesuatu, cukup gunakan <dynamic name>@domain.tld
dan kata sandi global.
Postfix / dovecot saya:
- beberapa domain
- tidak ada database, hanya file hash dan regex
- maildir (mendekati standar)
- tidak ada pengguna virtual (catchall memiliki pengguna unix sendiri)
- tidak ada manipulasi transportasi
Apa senjata rahasia postfix untuk mencapai skenario pengiriman ini?
my main.cf
(login via smtp belum berfungsi, send umum dan imap berfungsi:
myhostname = domain.tld
smtpd_banner = $myhostname ESMTP $mail_name
biff = no
append_dot_mydomain = no
delay_warning_time = 4h
readme_directory = no
smtpd_tls_cert_file=/etc/letsencrypt/live/domain.tld/cert.pem
smtpd_tls_key_file=/etc/letsencrypt/live/domain.tld/privkey.pem
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_tls_security_level = may
smtpd_tls_auth_only = no
smtpd_tls_received_header = yes
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_protocols = !SSLv2, !SSLv3
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_protocols = !SSLv2, !SSLv3
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, domain.tld, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
mynetworks_style = host
home_mailbox = Maildir/
virtual_alias_maps = hash:/etc/postfix/virtual, regexp:/etc/postfix/regexp_virtual
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recipient_access, permit_mynetworks, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
Jawaban:
Walaupun beberapa penyedia surat benar-benar menegakkan alamat pengirim milik akun terotentikasi, ini umumnya tidak valid, terutama tidak untuk konfigurasi default Postfix. Sebenarnya, itu agak umum untuk menggunakan beberapa penyedia surat sebagai relay mail ketika server hosting di belakang uplink rumah dengan alamat IP dinamis (yang diblokir oleh sebagian besar daftar hitam karena banyak spam dikirim dari alamat-alamat itu). Saya kira sebagian besar bahkan tidak menegakkan domain pengirim.
Anda harus dapat mengautentikasi dengan alamat surat catch-all-akun Anda, tetapi konfigurasikan akun dengan alamat pengirim lain. Thunderbird misalnya juga memungkinkan untuk memberikan beberapa identitas per akun SMTP, yang tersedia untuk tujuan ini.
sumber