linux伺服器下傳送郵件

2021-09-08 04:13:41 字數 2208 閱讀 4449

系統管理人員經常會遇到對於裝置或者任務的預警與通知,通常情況有傳送簡訊、郵件等方式。傳送簡訊一般來說需要有簡訊貓(硬體)或者呼叫libfetion給飛信使用者傳送。本文介紹幾種簡單的傳送郵件的方式。

本文環境:ubuntu 10.04

基礎:linux伺服器傳送郵件一般都是基於sendmail進行的,sendmail伺服器提供對外的郵件傳送功能。其他工具都是基於sendmail進行服務的。所以要在linux系統傳送郵件,首先需要安裝sendmail伺服器安裝方法:

#sudo apt-get install sendmail

然後通過ps檢視是否有sendmail程序,如果存在,則安裝成功:

#ps -ef|grep sendmail

root 1282 1 0 13:39 ? 00:00:00 sendmail: mta: accepting connections

方法1#!/bin/bash

/usr/sbin/sendmail -t << eof

from: mail test 

sender: jkjl 

to: [email protected] 

cc: [email protected] 

subject: mail testing 

---------------------------------- 

this is the mail content ...

muhaha

---------------------------------

eof

man sendmail

-t引數的含義

-t     read message for recipients. to:, cc:, and bcc: lines will be

scanned for recipient addresses. the bcc: line will be deleted

before transmission.

另外,sendmail預設從標準輸入讀入內容直到結束或者遇到".",-oi 就是認為遇到"."不再認為是結束符了。如下:

echo "hahaha.my"|sendmail -oi [email protected]

方法2:

利用mail工具傳送,利用mail傳送郵件必須安裝mailutils

sudo apt-get install mailutils

然後傳送郵件

$ mail -s "just a test" 收信人郵箱位址 < 要傳送的郵件內容檔案 

mail -s "haha" [email protected] < hello.txt

mail 工具的-t 可以跟多個使用者,如下:

mail -s title -t [email protected] -t [email protected] < hello.txt

如果要傳送帶附件的郵件,則需要先安裝uuencode,uuencode 在sharutils包中

sudo apt-get install sharutils

然後再傳送

uuencode 附件名 顯示附件名| mail -s 題目 目的郵箱

uuencode hello.txt bienvenu |mail -s test [email protected]

如果按上面的方法,郵件只帶乙個附件,即將正文和附件組成聯合檔案發出。

方法3:

利用formail和sendmail聯合傳送:

formail可以封裝郵件資訊,然後呼叫sendmail傳送,經典例子如下:

echo hello|formail -i "from:[email protected]" -i "mime-version:1.0" -i "content-type:text/html;charset=gb2312" -i "subject:test"|sendmail -oi [email protected]

方法4:

使用mutt傳送

mutt是乙個linux下非常好用的email程式,最典型的乙個例子如下:

其中:s—主題  a—附件

最後追加的是郵件內容

mutt甚至可以使用pgp加密,利用mutt支援mime,解決亂碼問題等,總之mutt是個人認為的最好用的email工具。

本期知識就介紹到這裡,希望大家能有所收穫。分享一句話:要有夢想,即使它看似遙遠。

linux伺服器下傳送郵件

系統管理人員經常會遇到對於裝置或者任務的預警與通知,通常情況有傳送簡訊 郵件等方式。傳送簡訊一般來說需要有簡訊貓 硬體 或者呼叫libfetion給飛信使用者傳送。本文介紹幾種簡單的傳送郵件的方式。本文環境 ubuntu 10.04 基礎 linux伺服器傳送郵件一般都是基於sendmail進行的,...

Linux伺服器django傳送郵件

一 在settings.py檔案裡新增配置。python傳送郵件的埠25和465都可以,但是如果是阿里雲伺服器,埠25可能不能使用。建議使用埠465傳送郵件 傳送郵件設定 email backend django.core.mail.backends.smtp.emailbackend email ...

linux環境下傳送stmp郵件失敗

1 js端呼叫php介面,介面狀態200,排除介面訪問不通問題2 呼叫介面成功,列印phpmail類成功,排除linux區分大小寫未找到類問題3 php openssl拓展和soket拓展已經開啟,排除拓展問題4 linux環境中是否可以ping通baidu.com5 列印mail類報錯的方法 re...