Email
如何安裝後綴以僅向管理員發送郵件?
我有一個在 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
我希望這有幫助。