web-dev-qa-db-ja.com

DovecotとPostfixを使用してキャッチオールメールアドレスの動的送信者アドレスを設定するにはどうすればよいですか?

通常はキャッチオールメールアドレスで受信される送信者アドレスを介してメールを送信する必要がある場合があります。しかし、returnmailを操作する通常の方法は、優れたソリューションではありません。したがって、i-MSCP + RoundCubeで「動作する」シナリオを使用します。

  • 固定メールボックスと1つのキャッチオール
  • 動的メールアドレスを介して送信する必要がある場合(catchallによってキャッチされます)、メールボックスを登録し(この1つのメールまたはメールボックス+転送用に一時的)、RoundCubeで新しい資格情報を使用します。

しかし今、私は管理ソフトウェアのない最小限のサーバーを手に入れました。固定メールボックスと1つのキャッチオール(正規表現ベース+ブラックリスト)を使用してpostfixを構成しました。また、dovecotはIMAPおよびキャッチオール資格情報と連携します。現在、メールクライアント経由でメールを送信できない(認証の問題)ことに加えて、どのアドレスからでもはるかに簡単にメールを送信できる方法が必要です。何かを登録したくありません。<dynamic name>@domain.tldとグローバルパスワードを使用するだけです。

私のpostfix/dovecot:

  • 複数のドメイン
  • データベースはなく、ハッシュファイルと正規表現ファイルのみ
  • maildir(標準に近い)
  • 仮想ユーザーなし(catchallには独自のunixユーザーがいます)
  • 輸送操作なし

この送信シナリオを実現するためのpostfixシークレット武器とは何ですか?

my main.cf(smtp経由のログインはまだ機能していません。一般的な送信とimapは機能しています:

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
1
Jonny

一部のメールプロバイダーは実際に送信者アドレスが認証されたアカウントに属することを強制しますが、これは一般的に有効ではなく、特にPostfixのデフォルト設定ではそうではありません。実際、動的IPアドレス(多くのスパムがそれらのアドレスから送信されるため、ほとんどのブラックリストによってブロックされている)を使用してホームアップリンクの背後でサーバーをホストする場合、メールリレーとして一部のメールプロバイダーを使用するのはかなり一般的です。ほとんどの場合、送信者ドメインを強制することすらしないと思います。

キャッチオールアカウントのメールアドレスで認証できるはずですが、別の送信者アドレスでアカウントを構成してください。たとえば、Thunderbirdでは、SMTPアカウントごとに複数のIDを提供することもできます。これは、まさにこの目的で使用できます。

0
Jens Erat