我應該使用什麼策略在 Linux 上安裝 smtp 伺服器?用於多執行緒服務

我應該使用什麼策略在 Linux 上安裝 smtp 伺服器?用於多執行緒服務

大家好,我需要實現透過電子郵件向用戶發送提醒的服務,這應該是多線程計劃系統,這部分很好,但我需要安裝和配置smtp 伺服器以在伺服器上發送電子郵件,這是我不知道如何做什麼以及期待什麼我的工具將是一些 Linux(我猜是 ubuntu)切片上的燈組合。

答案1

安裝是非常特定於發行版的,因為有發行版推薦的安裝軟體的方法。如今,我很少建議任何人在任何 Linux 發行版上透過原始碼安裝 Postfix。

在 ubuntu 中,使用 apt-get。

$ sudo apt-get install postfix

這將在你的 Ubuntu 伺服器上安裝 postfix,之後的設定就交給你了。我的建議是將郵件透過管道傳輸到 sendmail 二進位檔案(通常位於 /usr/sbin/sendmail),如果 Postfix 系統關閉,它將把郵件保存在佇列中。如果您使用 SMTP 並連接到連接埠 25,如果您的郵件伺服器需要停機進行某些維護,您的應用程式將需要保留自己的郵件佇列,否則將面臨郵件無法送達的風險。

答案2

請按照以下說明安裝 PostfixPostfix.org

答案3

您也可以安裝 exim4,雖然設定起來比較複雜(由於 debian 的 hackery),但設定轉寄郵件要容易得多。只需 apt-get install exim4,然後,如有必要,dpkg-reconfigure exim4-config。

答案4

如果您以前曾經從原始程式碼建置/編譯過程式碼,那麼從原始程式碼中站起來,Postfix 並不難。

我們使用 mailx 向外發送電子郵件,並且 mailx 與 postfix SMTP 伺服器通訊作為實際的中繼點。

此外,一旦您啟動並運行了 Postfix 伺服器,其他外部伺服器就可以引用它來進行電子郵件中繼。

我們使用腳本化建置流程在 Linux 發行版 (Pozix Linux) 上建置 Postfix。

這是我們用來建構 Postfix make 檔案的命令:

製作 makefile 'CCARGS=-DHAS_PGSQL -DUSE_TLS -I/usr/local/pgsql-8.2.13/include -DUSE_CYRUS_SASL -DUSE_SASL_AUTH -I/usr/include/sasl -I/usr/local/UX0 L/usr/local/lib -L/usr/local/pgsql-8.2.13/lib -L/usr/local/BerkeleyDB/lib -lpq -lsasl2 -lz -lm -lssl -lcrypto -lpthread'

您可以根據您的需求進行調整。由於我們使用 PostgreSQL,因此我們有: -L/usr/local/pgsql-8.2.13/lib -lpq

如果您不需要 PostgreSQL 支持,您可以消除這些; SASL 和 TLS 也是如此。

執行該指令後,

make install(用於新安裝) make update(用於升級先前的版本)

為了讓 mailx 正常運作,我們通常有一個 CRON 作業以 root 身分呼叫腳本。

該腳本又呼叫 mailx。

MAILX 使用 .rc 檔案來讀取環境變量,由於我們以 root 使用者身分呼叫 mailx,我們需要將一個名為「.mailrc」的檔案放在 root 的主目錄中。

.mailrc 的內容如下所示:

[電子郵件受保護] 設定 smtp=mail.mydomain.com 設定[電子郵件受保護] 設定 smtp-auth-password=警報密碼 設定 smtp-auth=登入

然後在我們的腳本中我們像這樣呼叫 mailx:

echo「測試訊息」|郵件x”[電子郵件受保護] [電子郵件受保護]" -s "電子郵件主旨" "電子郵件內文"

或者你可以這樣做:

mailx -s“主題”-a /路徑/到/某些/文件[電子郵件受保護]

其中 -a 允許您附加文件,而 test.msg 是用於讀入電子郵件正文的外部文件。

或者另一種方式,類似於第一個文件附件,是:

echo「訊息內文」| mailx -s“主題”-a /路徑/到/某些/文件[電子郵件受保護]

相關內容