導航:首頁 > 編程系統 > linuxmutt發送郵件

linuxmutt發送郵件

發布時間:2023-06-01 14:28:30

㈠ 如何在linux命令行中通過SMTP伺服器發送電子郵件

假定你想配置一個 Linux 應用,用於從你的伺服器或桌面客戶端發送郵件信息。郵件信息可能是郵件簡報、狀態更新(如 Cachet)、監控警報(如 Monit)、磁碟時間(如 RAID mdadm)等等。當你要建立自己的 郵件發送伺服器 傳遞信息時 ,你可以替代使用一個免費的公共 SMTP 伺服器,從而避免遭受維護之苦。

谷歌的 Gmail 服務就是最可靠的 免費 SMTP 伺服器 之一。想要從應用中發送郵件通知,你僅需在應用中添加 Gmail 的 SMTP 伺服器地址和你的身份憑證即可。

使用 Gmail 的 SMTP
伺服器會遇到一些限制,這些限制主要用於阻止那些經常濫用伺服器來發送垃圾郵件和使用郵件營銷的傢伙。舉個例子,你一次只能給至多 100
個地址發送信息,並且一天不能超過 500
個收件人。同樣,如果你不想被標為垃圾郵件發送者,你就不能發送過多的不可投遞的郵件。當你達到任何一個限制,你的 Gmail
賬戶將被暫時的鎖定一天。簡而言之,Gmail 的 SMTP 伺服器對於你個人的使用是非常棒的,但不適合商業的批量郵件。

說了這么多,是時候向你們展示 如何在 Linux 環境下使用 Gmail 的 SMTP 伺服器 了。

Google Gmail SMTP 伺服器設置

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

郵件發送伺服器 (SMTP 伺服器): smtp.gmail.com
使用認證: 是
使用安全連接: 是
用戶名: 你的 Gmail 賬戶 ID (比如 "alice" ,如果你的郵箱為 [email protected]
密碼: 你的 Gmail 密碼
埠: 587

確切的配置根據應用會有所不同。在本教程的剩餘部分,我將向你展示一些在 Linux 上使用 Gmail SMTP 伺服器的應用示例。

從命令行發送郵件

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

先安裝 mutt:

對於 Debian-based 系統
$ sudo apt-get install mutt

對於 Red Hat based 系統:
$ sudo yum install mutt

創建一個 mutt 配置文件(~/.muttrc),並和下面一樣,在文件中指定 Gmail SMTP 伺服器信息。將 替換成自己的 Gmail ID。注意該配置只是為了發送郵件而已(而非接收郵件)。
$ vi ~/.muttrc
set from = "@gmail.com"set realname = "Dan Nanni"set smtp_url = "smtp://@smtp.gmail.com:587/"set smtp_pass = ""

一切就緒,使用 mutt 發送一封郵件:
$ echo "This is an email body." | mutt -s "This is an email subject" [email protected]

想在一封郵件中添加附件,使用 "-a" 選項
$ echo "This is an email body." | mutt -s "This is an email subject" [email protected] -a ~/test_attachment.jpg

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

當伺服器重啟時發送郵件通知

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

首先創建下面的腳本 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`" [email protected]
$ sudo chmod +x /usr/local/bin/reboot_notify.sh

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

現在讓我們創建如下一個自定義的 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

在創建服務後,添加並啟動該服務。
$ sudo systemctl enable reboot-task$ sudo systemctl start reboot-task

從現在起,在每次 VPS 重啟時,你將會收到一封通知郵件。

通過伺服器使用監控發送郵件通知

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

如果你想要接收 VPS 上由 Monit 產生的任何事件的郵件通知,你可以在 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 [email protected]

這是一個因為 CPU 負載超載而由 Monit 發送的郵件通知的例子。

㈡ 求助:如何在Linux下發送郵件

Linux伺服器發送郵件一般都是基於sendmail進行的,sendmail伺服器提供對外的郵件發送功能。

1.安裝sendmail伺服器安裝方法:

#sudoapt-getinstallsendmail

2.然後通過ps查看是否有sendmail進程,如果存在,則安裝成功:

#ps-ef|grepsendmail
root12821013:39?00:00:00sendmail:MTA:acceptingconnections

3.成功安裝sendmail後,就可以向郵件賬戶發送郵件了,編輯如下文件a.sh,通過chmod 更改許可權後執行就可以。

#!/bin/bash
/usr/sbin/sendmail-t<<EOF
From:Mailtest
Sender:
To:[email protected]
Cc:[email protected]
Subject:mailtesting
----------------------------------
Thisisthemailcontent...
muhaha
---------------------------------
EOF

㈢ 有人會使用linux腳本發送郵件嗎

1、編輯用戶Home目錄下的.muttrc文件,設置發信環境。
# cat /root/.muttrc
set envelope_from=yes
set [email protected]
set realname="Owinux"
set use_from=yes
set rfc2047_parameters=yes
set charset="utf-8"
2、發信腳本
# cat automail.sh
#!/bin/sh
# automail.sh
DIR=/root/owinux
mailcontent=$DIR/mailcontent
> "$mailcontent"
echo -e "owinux,您好!\n" >> $mailcontent
echo -e "含粗\t附件為 `date +%Y-%m-%d` 設備日檢報告,敬請查收。" >> $mailcontent
cat mailcontent | /usr/bin/mutt -s "設備日檢報告" -a /root/owinux/report.xls [email protected] -c [email protected] -c [email protected]
3、簡要說納山明:

-s:指定主題
-a:附件
-c:抄送,需要抄送多人的話,須使用多個 -c 選項

使用上面的發信環境可以保證在頁面查看郵件的時候,附件名不出現亂碼。
其中 .muttrc 的 "set from"可以隨便談茄鎮設置,可以是不存在的郵箱地址,當然正確的最好。

㈣ linux shell腳本編寫,顯示文件目錄發送mail

#!/bin/bashcount=`ls -1 /full/path/to/abc | wc -l`if [ $count -gt 4 ]; then
echo | /usr/local/bin/困慎mutt -s "abc目錄文尺爛件超過4個陵尺漏" [email protected] ;
fi

㈤ linux 下如何發送帶附件的郵件

如果這兩個都不能用,那麼可以用 mail命令。如果你能確認你的郵件伺服器支持 8-bit 的位元組, 可以直接用 cat <附件文件名 | mail <郵件地址 不過很多郵件伺服器不支持 8-bit 位元組,所以最好使用 uuencode 命令。先寫好郵件, 比如叫 mymail, 然後uuencode <附件文件名 <附件文件名 mymail 或者cat <附件文件名 | uuencode <附件文件名 mymail 然後編輯你的 mymail 文件, 在前面寫上信的正文。 然後寄出。收到信後, 把信中屬於 mymail 的部分拷貝出來, 存為 themail.uue。如果對方是在 windows 下, 就可以用 winzip 7.0 解壓, 即可得到附件。
如果對方在 linux 下, 可以用 uudecode 還原:uudecode -o <附件文件名 themail.uue cat <附件文件名 | mail <郵件地址 如果有多個文件要處理, 那麼就重復執行上述步驟, 不過這樣收到郵件後對每個郵件需要分別處理。當然壓縮一下會得到更好的效果, 這樣郵件長度會大大降低。 附件文件名就是壓縮後的文件名。 老大,這樣不是很麻煩,有沒有像這樣的 mail -s hello -xx /tmp/ss.exe [email protected] 沒有 用pine,很簡單的. 一般redhat都帶. way1: uuencode file1 file1 | mail -s "title" mail@address way2: mutt -s "title" -a /dir/file1 mail@address 上面的方法2會啟動編輯器來寫正文,也可以先編輯好郵件內容,mailcontent.txt # cat mailcontent.txt | mutt -s "title" -a attachfile1 mail@address 就不會啟動編輯器了。 way1: uuencode file1 file1 | mail -s "title" mail@address 執行此命令後沒很久陵液睜埋磨都沒有反應, way2: mutt -s "title" -a /dir/file1 mail@address 系統中沒有mutt這個東東,我的是bsd4.7 uuencode file1 file1 | mail -s "asdf" [email protected] 沒反應? 是不是你的file1太尺歲大啦?編碼要很久? 我也是從人家那裡學到的,而且成功地發送了不下一百封信。

㈥ 有人會使用linux腳本發送郵件嗎

1.開啟郵件服務
echo "郵件內容" | mail -s 「主題」 郵箱地址

㈦ linux用mutt+esmtp發郵件時提示寄送訊息出現錯誤

這一般是設置文件出現問題了(我使用的軟體包msmtp-1.4.17.tar.bz2

1、確保你的 /root/.msmtprc 文件中關於郵箱的設置正確

正確設置格式(我這里使用的是126郵箱):

defaults
logfile /var/log/msmtp/msmtp.log #日誌文件,需要手動建立
accountwang5 #賬號
host smtp.126.com #使用的轉發郵箱
port 25
from [email protected] #要從哪個郵箱發出
auth login #認證方式,不要使用on ,會報錯
tls off
userwang5 #郵箱用戶名
password xxxxxxxxx #郵箱密碼
account default :wang5

修改後改變許可權:chmod 600 /root/.msmtprc

2、對mutt進行設置

先安裝:yum install -y mutt

安裝完成後修改配置文件

vim /etc/Muttrc

在最後添加:

set sendmail="/usr/local/msmtp/bin/msmtp" #你的msmtp命令路徑,我這里是源碼安裝

set use_from=yes

set realname="[email protected]"

set editor="vim"

3、確保無誤後可以進行測試了

[root@localhost~]#echo "郵件1" | mutt -s "測試" 136000101XX@qq.com


內容 標題目標郵箱

運行後可以到[email protected]郵箱看到郵件內容了

截圖:

㈧ 我的是linux centos7.2 用mutt或者emll發送郵件 沒有提示錯誤 但是我收不到郵件 是什麼原因

自己發給自己?
查看下日誌文件分析一下

㈨ 新裝的linux系統,在命令行下發送網路郵件的問題

如果使用linux發郵件,需要你對郵件系統有一定了解,這個相當復雜。
mail是郵件客戶端,類似的有mutt。
而發郵件需要有mailserver的配合,例如smtpd / postfix / qmail等的配合。
客戶端上可以設置使用的發件伺服器,例如163。默認使用本機的郵件伺服器,因為linux自身就是郵件伺服器主機。
但目前的郵件發送還需遵循相關要求,例如反垃圾郵件過濾,你的郵件伺服器必須進行注冊才允許和大型郵件系統互通並且不被識別為垃圾。對於個人來說,基本不可能。

㈩ 如何用linux製作郵件系統發件箱界面設計及代碼

Red Hat上sendmail服務一般是自動啟動的。可以通過下面的命令查看sendmail服務的狀態:
service sendmail status
如果sendmail服務未啟動可以使用如下命令啟動:
service sendmail start
【注意】每次修改網路配置後(如修改IP,主機名等),都要重新啟動sendmail服務,否則發送郵件會失敗。
使用mail命令發送Internet郵件的最簡單的語法形式為:
mail username@address
下面是一個發送郵件的簡單示例:
Subjiect:是郵件的主題
下面是郵件的正文
【注意】這里的Cc:是按Ctrl+D鍵後的現實結果,不屬於郵件內容
檢查郵件是否發送成功可以使用下面的命令:
sendmail–bp
若顯示「/var/spool/mqueueisempty」的信息,表示郵件發送成功。打開子自己的郵箱就可以看見郵件發送成功狀態。
若顯示其他錯誤信息,郵件肯定發送失敗了。一般情況下需要重啟sendmail服務。
這也是為什麼提sendmail服務的原因。
如果想把一個文本文件的內容當做電子郵件的內容,則可以使用下面的命令:
mail-s「subject」username@address

catfilename|mail-s「subject」username@address
參數-s表示郵件的主題
例如:
mail-s「Atestmailfile」[email protected]
mail命令不能發送附件,如果要發送附件,推薦安裝mutt郵件客戶端的RPM軟體包。
使用-a參數指定附件,其他參數與mail命令類似:
例如:
mutt-s「testmutt」-a/root/[email protected]
mutt是一個非常強大的軟體。

閱讀全文

與linuxmutt發送郵件相關的資料

熱點內容
電影下載免費網站推薦 瀏覽:424
《穿越成武大郎》小說 瀏覽:497
店標文件格式 瀏覽:530
為什麼美團外賣app登不上去 瀏覽:75
壞小孩小說txt下載 瀏覽:144
訂飯的app有哪些 瀏覽:29
推薦幾個可以看片的網址你懂的 瀏覽:667
勵志小說網站哪個好 瀏覽:667
asp lfz385 瀏覽:837
看過一部片裡面有吃人族 瀏覽:931
可以下載的成年人免費電影網址 瀏覽:790
蘋果5s屏蔽升級提醒 瀏覽:225
理論片愛愛 瀏覽:48
外國電影倆小孩與父親的故事 瀏覽:359
我叫王剛從泰國回來電影名 瀏覽:90
excel怎麼查之前打開的文件 瀏覽:809
誇克的片庫在哪個文件夾 瀏覽:704
專科學網路技術 瀏覽:884
快播電影在線 瀏覽:443

友情鏈接