Postfix

Postfix:專用使用者發送電子郵件

  • August 28, 2022

我目前的 Postfix 設置只允許與本地使用者發送電子郵件(例如,如果我以xyz身份登錄,那麼電子郵件將作為xyz@server.com發送)。我有 Courier IMAP 伺服器,使用相同的使用者xyz但密碼不同,來自另一個地方。

現在我想將 RoundCube (RC) 設置為 webmail 客戶端,但不幸的是,它不允許為 IMAP 和 SMTP 使用不同的密碼(當您以abc身份登錄 IMAP 時, RC 將使用abc及其用於 IMAP 的密碼發送電子郵件)。我需要什麼 - 我想設置 Postfix,讓它有專門的使用者發送電子郵件,所以所有郵件使用者都將使用相同的 SMTP 帳戶(但電子郵件應該作為他們自己的帳戶發送,比如他們將使用帳戶mailer@server .com連接到 SMTP 伺服器,然後電子郵件將作為xyz@server.com發送)。在這種情況下,我可以設置 RC 以使用該專用帳戶進行發送。

如何做到這一點?

Roundcube 使用 IMAP 帳戶的使用者名和密碼對 SMTP 伺服器進行身份驗證,如果您已經配置了這種方式,這可能是 Roundcube 的預設設置。

// SMTP username (if required) if you use %u as the username Roundcube
// will use the current username for login
$config['smtp_user'] = '%u';

// SMTP password (if required) if you use %p as the password Roundcube
// will use the current user's password for login
$config['smtp_pass'] = '%p';

您還可以將 Roundcube 配置為僅將登錄數據用於登錄 IMAP 帳戶,但通過特定的 SMTP 伺服器發送所有電子郵件。對於 SMTP 伺服器,您還可以為身份驗證配置數據,但在這種情況下,localhost您可以不使用它。

只需配置欄位smtp_hostsmtp_user並且smtp_pass

// SMTP server host (for sending mails).
// See defaults.inc.php for the option description.
$config['smtp_host'] = 'localhost:587';

// SMTP username (if required) if you use %u as the username Roundcube
// will use the current username for login
$config['smtp_user'] = 'rc-send-out-account';

// SMTP password (if required) if you use %p as the password Roundcube
// will use the current user's password for login
$config['smtp_pass'] = 'YOUR-ROUNDCUBE-SMTP-PASSWORD';

配置可以在文件config/config.inc.php中完成。


如果你做了這個配置,那麼通過這個roundcube實例發送的所有使用者的所有電子郵件都將通過這個SMTP伺服器發送,並帶有這個身份驗證。

因此很明顯,如果您指定 SMTP 憑據(例如來自 GMail 帳戶),這將不起作用,因為 Google(以及其他免費郵件提供商)在發送郵件時會檢查郵件的發件人是否與該帳戶匹配。

引用自:https://serverfault.com/questions/1109306