新聞中心
如何在Linux命令行中通過(guò)SMTP服務(wù)器發(fā)送電子郵件
假定你想配置一個(gè) Linux 應(yīng)用,用于從你的服務(wù)器或桌面客戶端發(fā)送郵件信息。郵件信息可能是郵件簡(jiǎn)報(bào)、狀態(tài)更新(如 Cachet)、監(jiān)控警報(bào)(如 Monit)、磁盤(pán)時(shí)間(如 RAID mdadm)等等。當(dāng)你要建立自己的 郵件發(fā)送服務(wù)器 傳遞信息時(shí) ,你可以替代使用一個(gè)免費(fèi)的公共 SMTP 服務(wù)器,從而避免遭受維護(hù)之苦。
在青山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),成都營(yíng)銷(xiāo)網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,青山網(wǎng)站建設(shè)費(fèi)用合理。
谷歌的 Gmail 服務(wù)就是最可靠的 免費(fèi) SMTP 服務(wù)器 之一。想要從應(yīng)用中發(fā)送郵件通知,你僅需在應(yīng)用中添加 Gmail 的 SMTP 服務(wù)器地址和你的身份憑證即可。
使用 Gmail 的 SMTP
服務(wù)器會(huì)遇到一些限制,這些限制主要用于阻止那些經(jīng)常濫用服務(wù)器來(lái)發(fā)送垃圾郵件和使用郵件營(yíng)銷(xiāo)的家伙。舉個(gè)例子,你一次只能給至多 100
個(gè)地址發(fā)送信息,并且一天不能超過(guò) 500
個(gè)收件人。同樣,如果你不想被標(biāo)為垃圾郵件發(fā)送者,你就不能發(fā)送過(guò)多的不可投遞的郵件。當(dāng)你達(dá)到任何一個(gè)限制,你的 Gmail
賬戶將被暫時(shí)的鎖定一天。簡(jiǎn)而言之,Gmail 的 SMTP 服務(wù)器對(duì)于你個(gè)人的使用是非常棒的,但不適合商業(yè)的批量郵件。
說(shuō)了這么多,是時(shí)候向你們展示 如何在 Linux 環(huán)境下使用 Gmail 的 SMTP 服務(wù)器 了。
Google Gmail SMTP 服務(wù)器設(shè)置
如果你想要通過(guò)你的應(yīng)用使用 Gmail 的 SMTP 服務(wù)器發(fā)送郵件,請(qǐng)牢記接下來(lái)的詳細(xì)說(shuō)明。
郵件發(fā)送服務(wù)器 (SMTP 服務(wù)器): smtp.gmail.com
使用認(rèn)證: 是
使用安全連接: 是
用戶名: 你的 Gmail 賬戶 ID (比如 "alice" ,如果你的郵箱為 alice@gmail.com)
密碼: 你的 Gmail 密碼
端口: 587
確切的配置根據(jù)應(yīng)用會(huì)有所不同。在本教程的剩余部分,我將向你展示一些在 Linux 上使用 Gmail SMTP 服務(wù)器的應(yīng)用示例。
從命令行發(fā)送郵件
作為第一個(gè)例子,讓我們嘗試最基本的郵件功能:使用 Gmail SMTP 服務(wù)器從命令行發(fā)送一封郵件。為此,我將使用一個(gè)稱為 mutt 的命令行郵件客戶端。
先安裝 mutt:
對(duì)于 Debian-based 系統(tǒng):
$ sudo apt-get install mutt
對(duì)于 Red Hat based 系統(tǒng):
$ sudo yum install mutt
創(chuàng)建一個(gè) mutt 配置文件(~/.muttrc),并和下面一樣,在文件中指定 Gmail SMTP 服務(wù)器信息。將 替換成自己的 Gmail ID。注意該配置只是為了發(fā)送郵件而已(而非接收郵件)。
$ vi ~/.muttrc
set from = "@gmail.com"set realname = "Dan Nanni"set smtp_url = "smtp://@smtp.gmail.com:587/"set smtp_pass = ""
一切就緒,使用 mutt 發(fā)送一封郵件:
$ echo "This is an email body." | mutt -s "This is an email subject" alice@yahoo.com
想在一封郵件中添加附件,使用 "-a" 選項(xiàng)
$ echo "This is an email body." | mutt -s "This is an email subject" alice@yahoo.com -a ~/test_attachment.jpg
使用 Gmail SMTP 服務(wù)器意味著郵件將顯示是從你 Gmail 賬戶發(fā)出的。換句話說(shuō),收件人將視你的 Gmail 地址為發(fā)件人地址。如果你想要使用自己的域名作為郵件發(fā)送方,你需要使用 Gmail SMTP 轉(zhuǎn)發(fā)服務(wù)。
當(dāng)服務(wù)器重啟時(shí)發(fā)送郵件通知
如果你在 虛擬專用服務(wù)器(VPS)
上跑了些重要的網(wǎng)站,建議監(jiān)控 VPS 的重啟行為。作為一個(gè)更為實(shí)用的例子,讓我們研究如何在你的 VPS
上為每一次重啟事件建立郵件通知。這里假設(shè)你的 VPS 上使用的是 systemd,并向你展示如何為自動(dòng)郵件通知?jiǎng)?chuàng)建一個(gè)自定義的 systemd
啟動(dòng)服務(wù)。
首先創(chuàng)建下面的腳本 reboot_notify.sh,用于負(fù)責(zé)郵件通知。
$ 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
在這個(gè)腳本中,我使用 "-F" 選項(xiàng),用于指定系統(tǒng)級(jí)的 mutt 配置文件位置。因此不要忘了創(chuàng)建 /etc/muttrc 文件,并如前面描述的那樣填入 Gmail SMTP 信息。
現(xiàn)在讓我們創(chuàng)建如下一個(gè)自定義的 systemd 服務(wù)。
$ 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)建服務(wù)后,添加并啟動(dòng)該服務(wù)。
$ sudo systemctl enable reboot-task$ sudo systemctl start reboot-task
從現(xiàn)在起,在每次 VPS 重啟時(shí),你將會(huì)收到一封通知郵件。
通過(guò)服務(wù)器使用監(jiān)控發(fā)送郵件通知
作為最后一個(gè)例子,讓我展示一個(gè)現(xiàn)實(shí)生活中的應(yīng)用程序,Monit,這是一款極其有用的服務(wù)器監(jiān)控應(yīng)用程序。它帶有全面的 VPS 監(jiān)控能力(比如 CPU、內(nèi)存、進(jìn)程、文件系統(tǒng))和郵件通知功能。
如果你想要接收 VPS 上由 Monit 產(chǎn)生的任何事件的郵件通知,你可以在 Monit 配置文件中添加以下 SMTP 信息。
set mailserver smtp.gmail.com port 587
username "" password ""
using tlsv12
set mail-format {
from: @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
這是一個(gè)因?yàn)?CPU 負(fù)載超載而由 Monit 發(fā)送的郵件通知的例子。
linux命令行下能登陸使用163郵箱嗎
163支持pop3
如果是最底層的,你可以telnet到163的pop3端口,通過(guò)命令取拿郵件。
這個(gè)需要了解pop3協(xié)議的原理。
其他的mail客戶端軟件都是封裝了這個(gè)過(guò)程。
163同時(shí)也支持webmail
也可以走web的思路。
模擬登錄然后下載。這個(gè)可以用perl或者python實(shí)現(xiàn)。
linux系統(tǒng)命令行接收郵件
系統(tǒng)收到的mail會(huì)保存在/var/spool/mail/用戶名?這個(gè)文件夾中。
收mail,鍵入mail就會(huì)顯示當(dāng)前用戶的前20封mail。可對(duì)郵件進(jìn)行查看刪除等操作。
在linux文本命令平臺(tái)輸入?mail?-f?mbox,就可以看到當(dāng)前目錄下的mbox中的郵件了。
cd?改變當(dāng)前所在文件夾的位置,讀信時(shí),按一次Ctrl+C,退出閱讀狀態(tài)。
網(wǎng)站欄目:linux命令行郵箱 linux郵箱配置
文章路徑:http://www.ef60e0e.cn/article/dohcsej.html