Bagaimana cara mengatur alamat pengirim dinamis untuk alamat email catchall dengan Dovecot dan Postfix?

1

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.tlddan 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
Jonny
sumber
Apakah Anda mencoba mengatur satu akun (statis) dengan kata sandi bersama dengan alamat surat yang berbeda? Meskipun biasanya alamat email digunakan sebagai ID pengguna, tidak perlu bagi mereka yang cocok untuk mengirim email.
Jens Erat
@JensErat OMG, setelah memperbaiki sasl auth untuk menggunakan dovecot, saya menemukan komentar tanda komentar (garis opsi uji dengan ruang putih besar yang terlihat seperti garis kosong). Sekarang saran Anda benar, saya menggunakan kredensial pengguna sistem catchall dan alamat email apa pun. Ini sangat sederhana, itu harus menjadi solusi dasar dan saya gagal. menangis di sudut karena kehilangan dua hari
Jonny
Karena komentar tersebut menyelesaikan masalah Anda, saya menambahkan jawaban dengan beberapa penjelasan lagi.
Jens Erat

Jawaban:

0

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.

Jens Erat
sumber