1. 程式人生 > >如何在Ubuntu 16.04上安裝並配置Postfix作為只發送SMTP伺服器

如何在Ubuntu 16.04上安裝並配置Postfix作為只發送SMTP伺服器

內容介紹

Postfix是一套郵件傳輸代理(簡稱MTA),用於傳送並接收郵件。在本教程中,我們將安裝並配置Postfix,並利用它僅為本地應用傳送郵件——所謂本地應用,即與Postfix安裝於同一伺服器的應用。

為什麼有這樣的需求?

如果大家已經在使用第三方郵件服務方案發送並收取郵件,則無需執行自己的郵件伺服器。然而,如果大家管理一套雲伺服器,且其中安裝的應用需要傳送郵件通知,那麼執行一套本地只發送SMTP伺服器則更為理想。

在本教程中,我們將瞭解如何安裝並配置Postfix以作為只發送SMTP伺服器。

先決條件

要完成教程,大家需要:

請注意,我們的伺服器主機名稱應當與域名或者子域名相匹配。大家可以在命令提示中輸入hostname驗證伺服器的主機名稱。輸出結果應當與Droplet建立時我們為其提供的名稱相匹配。

第一步——安裝Postfix

在此步驟中,我們將瞭解如何安裝Postfix。在這裡,我們選擇最為高效的安裝方式,即安裝mailutils軟體包。

首先更新該軟體包資料庫:

  • sudo apt-get update

安裝mailtuils將安裝Postfix以及其它一些Postfix所必需的程式。

  • sudo apt install mailutils

在安裝過程末尾,大家會看到如下圖所示的螢幕,其中預設選項為Internet Site。本教程亦推薦該預設選項,因此按下TAB再按回車。

在此之後,大家會看到另一個容器,如下所示。System郵件名稱應該與我們在建立伺服器時為其分配的名稱保持一致。如果其顯示subdomain.example.com這樣的子域名,則將其變更為example.com。完成後,按下TAB再按回車。

第二步——配置Postfix

在這裡,我們需要配置Postfix,要求其僅處理執行所在伺服器上的郵件,即localhost。

Postfix需要在配置中監聽loopbackinterface,即該伺服器用於內部通訊的虛擬網路介面。要實現變更,開啟主Postfix配置檔案:

  • sudo nano /etc/postfix/main.cf

開啟之後,找到以下部分:

/etc/postfix/main.cf

. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
. . .

將inet_interfaces = all行變更為inet_interfaces = loopback-only。

/etc/postfix/main.cf

. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
. . .

另外我們還需要修改mydestination指令,其用於指定通過local_transport郵件交付傳輸進行交付的域名列表。在預設情況下,其值如下所示:

/etc/postfix/main.cf

. . .
mydestination = $myhostname, example.com, localhost.com, , localhost
. . .

此場景下的推薦預設值如下所示,請大家根據實際情況進行修改:

/etc/postfix/main.cf

. . .
mydestination = $myhostname, localhost.$mydomain, $mydomain
. . .

儲存並退出。

如果大家在單一伺服器上託管多個域名,則其它域名同樣可以利用mydestination指令被髮送至Postfix。

最後,重啟Postfix。

  • sudo systemctl restart postfix

第三步——測試SMTP伺服器

在這裡,我們將測試Postfix是否能夠利用mail命令向外部郵件賬戶傳送郵件。

傳送測試郵件:

  • echo “This is the body of the email” | mail -s “This is the subject line” your_email_address

在執行測試時,大家可能需要使用對其中的對應部分進行調整,從而滿足自己的實際情況。

現在檢查傳送測試訊息的目標郵箱地址。大家應該能夠在收件箱中看到對應訊息——如果沒有,請檢查垃圾郵件箱。

注意,在此配置中,From欄位內的地址應為[email protected],其中sammy為Linux使用者名稱,而域名部分則為該伺服器的主機名稱。如果大家變更使用者名稱,則其中的From地址也應當對應變更。

第四步——轉發系統郵件

最後設定轉發機制,這樣我們就能夠將指向系統root的郵件轉發至自己的個人外部郵箱了。

要實現這一功能,我們需要編輯/etc/aliases檔案。

  • sudo nano /etc/aliases

此檔案的預設內容如下:

/etc/aliases

# See man 5 aliases for format
postmaster:    root

在此設定下,系統生成的郵件會被髮送至root使用者。這裡我們需要將其重新路由至自己的郵箱,變更後為:

/etc/aliases

# See man 5 aliases for format
postmaster:    root
root:          your_email_address

執行以下命令使變更生效:

  • sudo newaliases

再次傳送郵件以進行測試:

  • echo “This is the body of the email” | mail -s “This is the subject line” root

大家應該能夠正常收取到郵件。

總結

這就是Postfix只發送郵件伺服器的全部設定流程。大家可能還需要採取一些額外步驟來保護自己的域名免受垃圾郵件打擾。

如果大家在單一地址接收來自伺服器的通知,那麼大家可能需要將其納入白名單以避免其被列為垃圾郵件。不過,如果大家希望向潛在站點使用者傳送郵件,則應當設定SPF記錄及以確保伺服器郵件合法性。

如果配置正確,這些額外的步驟能夠讓我們的伺服器郵件被更多郵件服務視為合法。

翻譯:diradw

相關推薦

如何在Ubuntu 16.04安裝配置Postfix作為SMTP伺服器

內容介紹 Postfix是一套郵件傳輸代理(簡稱MTA),用於傳送並接收郵件。在本教程中,我們將安裝並配置Postfix,並利用它僅為本地應用傳送郵件——所謂本地應用,即與Postfix安裝於同一伺服器的應用。 為什麼有這樣的需求? 如果大家已經在使用

Ubuntu 16.04安裝配置Tomcat 8

出處:原始連結 簡介 Tomcat 是被廣泛使用的開源web伺服器,它具有輕量級、使用簡單靈活的優點,並且具有大量外掛的生態系統。本文帶你瞭解在Ubuntu 16.04上如何安裝和配置Tomcat 8。 你需要 Ubuntu 16.04伺服器 sudo許可權的非root使

【轉】Ubuntu 12.04安裝配置Postfix郵件服務詳細教程

原文網址 https://yq.aliyun.com/ziliao/29593 郵件伺服器配置之所以麻煩是因為需要了解很多東西,牽涉到域名服務 DNS/Bind,Web 收發郵件 Apache/PHP/MySQL/SquirrelMail,認證服務 LDAP, Ker

ubuntu 16.04安裝和簡單配置MySQL(5.7版本)

1.在ubuntu安裝MySQL(根據個人需求安裝server和client)sudo apt-get install mysql-serversudo apt-get install mysql-cl

Ubuntu 16.04 安裝 Bro 網絡分析器

linuxBro 是一個開源的網絡分析框架,側重於網絡安全監控。這是一項長達 15 年的研究成果,被各大學、研究實驗室、超級計算機中心和許多開放科學界廣泛使用。它主要由伯克利國際計算機科學研究所和伊利諾伊大學厄巴納-香檳分校的國家超級計算機應用中心開發。Bro 的功能包括:Bro 的腳本語言支持針對站點定制監

Ubuntu 16.04安裝Joomla系統

安裝mysql 新用戶 users org ins mcrypt 部分 validate .html Joomla !是一個流行的內容管理系統(CMS),它是僅次於Wordpress的第二大流行的CMS。到2017年,約有3.3%的網站使用Joomla !作為他們的CMS。

Ubuntu 16.04安裝Global閱讀原始碼工具

參照10年前寫的文件 (Linux原始碼閱讀工具lxr和glimpse的安裝與配置),想重新搭建一個原始碼閱讀工具,發現源裡面都沒有相關的工具了。 然後看到有更簡單的安裝工具Global可以使用,所以果斷嘗試新的工具,安裝後感覺確實簡單很多。 源裡面的版本有點舊(關鍵是好像沒有htags-server命令

Ubuntu 16.04安裝Global閱讀源代碼工具

get 必須 brush 新的 6.2 感覺 tags oba itl 參照10年前寫的文檔 (Linux源碼閱讀工具lxr和glimpse的安裝與配置),想重新搭建一個源代碼閱讀工具,發現源裏面都沒有相關的工具了。 然後看到有更簡單的安裝工具Global可以使用,所以果斷

如何在Ubuntu 18.04安裝配置Apache 2 Web伺服器

什麼是Apache Web Server? Apache或Apache HTTP伺服器是一個免費的開源Web伺服器,由Apache軟體基金(Apache Software Foundation)開發和維護。它的受歡迎程度可以通過以下事實來判斷:全球約有46%的網站由Apache提供支援。 Apache允許網

如何在Ubuntu 16.04安裝Jenkins

介紹 Jenkins是一款開源自動化伺服器,旨在自動化連續整合和交付軟體所涉及的重複技術任務。 Jenkins是基於Java的,可以從Ubuntu軟體包安裝,也可以通過下載和執行其Web應用程式ARchive(WAR)檔案進行安裝 - 構成一個完整的Web應用程式的集合,該

如何在 Ubuntu 18.04 安裝配置 Redis

Redis是一個開源的記憶體資料結構儲存。 它可以用作資料庫,快取和訊息代理,並支援各種資料結構,如字串,雜湊,列表,集等。 本教程介紹如何在 Ubuntu 18.04 伺服器上安裝和配置 Redis。 前提條件 在開始本教程之前,請確保以具有 sudo 許可權的使用者身份

ubuntu 16.04 SS安裝配置

安裝SS客戶端 安裝pip3 一般情況下,pip3安裝的版本比pip安裝的新,pip安裝的版本比apt安裝的新,這裡選擇最新版本。 1 sudo apt install python3-pip 安裝SS pip3命令一定要用sudo,不然開機自啟動不能實現。 1 sudo pip3

Ubuntu 16.04安裝、使用、解除安裝MongoDB

1.匯入包管理系統使用的公鑰 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 2.為M

如何在Ubuntu 16.04安裝Swift和Vapor

介紹 Swift是Apple開發的一種程式語言,特點是快,安全和現代化,它有一個支援語言的龐大社群。Swift主要用於開發iOS和Mac OS應用程式,但從Swift 3開始,您也可以將其用於伺服器端應用程式開發。 Vapor是一個流行的伺服器端Swif

Ubuntu 16.04 安裝 arm-linux-gcc-4.4.3

參考連結:https://blog.csdn.net/zz56z56/article/details/83021583 注:正常安裝後,不同使用者切換,需重新重新整理環境變數:source /etc/profile 一、下載arm-linux-gcc-4.4.3.tar交叉編譯包   1.ARM官網下載

tensorflow學習筆記十:Ubuntu 16.04 安裝 CUDA 7.5/8.0 超詳細教程

2017/1/5 更新 本篇文章是基於之前安裝CUDA 7.5的經驗寫的,但因為最近更新TensorFlow 到了r0.12版本,官方提示該版本TensorFlow 和CUDA 8.0 & cudnnv5.1 配合的最好,所以又卸了CUDA 7.5,重新裝了一遍

Ubuntu 16.04 安裝 CUDA 9.0 詳細教程

#!/bin/bash /sbin/modprobe nvidia if [ "$?" -eq 0 ]; then # Count the number of NVIDIA controllers found. NVDEVS=`lspci | grep -i NVIDIA` N3D=`echo "$NVDEV

Ubuntu 16.04安裝QT

本次安裝的是QT 5.7.0  下載地址 1.為了方便,先安裝一下g++ 開啟終端輸入: sudo apt-get install g++2.更改下載好的QT檔案的許可權 cd 下載 sudo

ubuntu 16.04安裝docker

第一篇部落格 環境:谷歌雲平臺的一個例項(一個共享VCPU,記憶體1.7G),系統為ubuntu 16.04 LTS https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#uninstall

Ubuntu 16.04安裝 Nginx+MySQL+ PHP

完全解除安裝apache2 1. sudo apt update 2. sudo apt upgrade 3. sudo apt remove apache2* 4. sudo apt autoremove 安裝