溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux服務器上如何使用Gmail的免費SMTP服務發(fā)送監(jiān)控通知

發(fā)布時間:2021-09-15 15:45:17 來源:億速云 閱讀:148 作者:chen 欄目:系統(tǒng)運維

這篇文章主要介紹“Linux服務器上如何使用Gmail的免費SMTP服務發(fā)送監(jiān)控通知”,在日常操作中,相信很多人在Linux服務器上如何使用Gmail的免費SMTP服務發(fā)送監(jiān)控通知問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux服務器上如何使用Gmail的免費SMTP服務發(fā)送監(jiān)控通知”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

Google Gmail SMTP 服務器設置

如果你想要通過你的應用使用 Gmail 的 SMTP 服務器發(fā)送郵件,請牢記接下來的詳細說明。

郵件發(fā)送服務器 (SMTP 服務器): smtp.gmail.com
使用認證: 是
使用安全連接: 是
用戶名: 你的 Gmail 賬戶 ID (比如 "alice" ,如果你的郵箱為 alice@gmail.com)
密碼: 你的 Gmail 密碼
端口: 587
確切的配置根據(jù)應用會有所不同。在本教程的剩余部分,我將向你展示一些在 Linux 上使用 Gmail SMTP 服務器的應用示例。

從命令行發(fā)送郵件

作為第一個例子,讓我們嘗試最基本的郵件功能:使用 Gmail SMTP 服務器從命令行發(fā)送一封郵件。為此,我將使用一個稱為 mutt 的命令行郵件客戶端。

先安裝 mutt:

對于 Debian-based 系統(tǒng):

代碼如下:


$ sudo apt-get install mutt


對于 Red Hat based 系統(tǒng):

代碼如下:


$ sudo yum install mutt


創(chuàng)建一個 mutt 配置文件(~/.muttrc),并和下面一樣,在文件中指定 Gmail SMTP 服務器信息。將 <gmail-id> 替換成自己的 Gmail ID。注意該配置只是為了發(fā)送郵件而已(而非接收郵件)。

代碼如下:


$ vi ~/.muttrc
set from = "<gmail-id>@gmail.com"
set realname = "Dan Nanni"
set smtp_url = "smtp://<gmail-id>@smtp.gmail.com:587/"
set smtp_pass = "<gmail-password>"


一切就緒,使用 mutt 發(fā)送一封郵件:

代碼如下:


$ echo "This is an email body." | mutt -s "This is an email subject" alice@yahoo.com


想在一封郵件中添加附件,使用 "-a" 選項

代碼如下:


$ echo "This is an email body." | mutt -s "This is an email subject" alice@yahoo.com -a ~/test_attachment.jpg


Linux服務器上如何使用Gmail的免費SMTP服務發(fā)送監(jiān)控通知

使用 Gmail SMTP 服務器意味著郵件將顯示是從你 Gmail 賬戶發(fā)出的。換句話說,收件人將視你的 Gmail 地址為發(fā)件人地址。如果你想要使用自己的域名作為郵件發(fā)送方,你需要使用 Gmail SMTP 轉發(fā)服務。

當服務器重啟時發(fā)送郵件通知

如果你在 虛擬專用服務器(VPS) 上跑了些重要的網站,建議監(jiān)控 VPS 的重啟行為。作為一個更為實用的例子,讓我們研究如何在你的 VPS 上為每一次重啟事件建立郵件通知。這里假設你的 VPS 上使用的是 systemd,并向你展示如何為自動郵件通知創(chuàng)建一個自定義的 systemd 啟動服務。

首先創(chuàng)建下面的腳本 reboot_notify.sh,用于負責郵件通知。

代碼如下:


$ sudo vi /usr/local/bin/reboot_notify.sh
#!/bin/sh
echo "`hostname` was rebooted on `date`" | mutt -F /etc/muttrc -s "Notification on `hostname`" alice@yahoo.com
$ sudo chmod +x /usr/local/bin/reboot_notify.sh


在這個腳本中,我使用 "-F" 選項,用于指定系統(tǒng)級的 mutt 配置文件位置。因此不要忘了創(chuàng)建 /etc/muttrc 文件,并如前面描述的那樣填入 Gmail SMTP 信息。

現(xiàn)在讓我們創(chuàng)建如下一個自定義的 systemd 服務。

代碼如下:


$ sudo mkdir -p /usr/local/lib/systemd/system
$ sudo vi /usr/local/lib/systemd/system/reboot-task.service
[Unit]
Description=Send a notification email when the server gets rebooted
DefaultDependencies=no
Before=reboot.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/reboot_notify.sh
[Install]
WantedBy=reboot.target


在創(chuàng)建服務后,添加并啟動該服務。

代碼如下:


$ sudo systemctl enable reboot-task
$ sudo systemctl start reboot-task


從現(xiàn)在起,在每次 VPS 重啟時,你將會收到一封通知郵件。
Linux服務器上如何使用Gmail的免費SMTP服務發(fā)送監(jiān)控通知

通過服務器使用監(jiān)控發(fā)送郵件通知

作為最后一個例子,讓我展示一個現(xiàn)實生活中的應用程序,Monit,這是一款極其有用的服務器監(jiān)控應用程序。它帶有全面的 VPS 監(jiān)控能力(比如 CPU、內存、進程、文件系統(tǒng))和郵件通知功能。

如果你想要接收 VPS 上由 Monit 產生的任何事件的郵件通知,你可以在 Monit 配置文件中添加以下 SMTP 信息。

代碼如下:


set mailserver smtp.gmail.com port 587
   username "<your-gmail-ID>" password "<gmail-password>"
   using tlsv12
set mail-format {
from: <your-gmail-ID>@gmail.com
subject: $SERVICE $EVENT at $DATE on $HOST
message: Monit $ACTION $SERVICE $EVENT at $DATE on $HOST : $DESCRIPTION.
      Yours sincerely,
         Monit
 }
# the person who will receive notification emails
set alert alice@yahoo.com


這是一個因為 CPU 負載超載而由 Monit 發(fā)送的郵件通知的例子。
Linux服務器上如何使用Gmail的免費SMTP服務發(fā)送監(jiān)控通知

到此,關于“Linux服務器上如何使用Gmail的免費SMTP服務發(fā)送監(jiān)控通知”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI