Email

如何安裝後綴以僅向管理員發送郵件?

  • June 5, 2018

我有一個在 Digital Ocean 上執行 Ubuntu 13.10 的 VPS。

我想安裝postfix在伺服器上,但我希望它能夠在系統消息要發送到 root 時僅向我的電子郵件地址發送電子郵件。

現在我將我的postfix安裝為local only. 這會將消息發送到/var/mail/root

相反,我希望我的消息發送到我的真實電子郵件 ( example@gmail.com),但我不想讓其他使用者/站點發送電子郵件(例如來自 PHP 的mail())。

這可能嗎?

做這件事有很多種方法

使用 SSMTP:

你可以在這裡找到詳細的文章。(請考慮Zulakis下面關於安全性的評論:我讓ssmtp解決方案供您參考,但更喜歡後綴解決方案)

安裝 ssmtp

sudo aptitude install ssmtp

編輯配置文件:

sudo vim /etc/ssmtp/ssmtp.conf

並使用您的 gmail 帳戶進行配置:

root=username@gmail.com
mailhub=smtp.gmail.com:587
hostname=username@gmail.com
UseSTARTTLS=YES
AuthUser=username
AuthPass=password
FromLineOverride=yes

使用後綴

如果您想使用您的 postfix 安裝,您可以將其配置為與您的 gmail 帳戶一起使用。你可以在這裡找到詳細的文章。

檢查您是否擁有所有需要的依賴項

mailutils libsasl2-2 ca-certificates libsasl2-modules

編輯後綴的配置:

sudo vim /etc/postfix/main.cf

並使用您的 gmail 帳戶進行配置:

relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes

使用您的密碼創建文件:

vim /etc/postfix/sasl_passwd

並添加以下行

[smtp.gmail.com]:587    USERNAME@gmail.com:PASSWORD

只允許root

我不完全確定你的意思

我不想讓其他使用者/網站發送電子郵件(例如來自 PHP 的 mail())

但要阻止每個使用者或每個域的郵件訪問,您可以編輯以下文件:

vim /etc/mail/access

並添加規則,例如:

To:a1@server.vikas.com        REJECT            # Reject a1 user from recieving mails
From:a1@server.vikas.com     REJECT           # Reject a1 user from sending mails

我希望這有幫助。

引用自:https://unix.stackexchange.com/questions/116805