Postfix:專用使用者發送電子郵件
我目前的 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_host
,smtp_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(以及其他免費郵件提供商)在發送郵件時會檢查郵件的發件人是否與該帳戶匹配。