『壹』 linux 下如何收發電子郵件!詳細配置過程!
[font=宋體][/font][color=Red][/color]
1前言
本教程旨在給未用過Linux系統的人提供一個快速入門的途徑,使其能迅速上手,用好收發電子郵件,進行文件傳輸與遠程登錄等網路功能,並提供了深入學習Linux的資料源。
Linux系統的歷史與應用
LINUX 是一個叫LINUS的芬蘭人寫的操作系統,他的初衷是把只能在大型工作站上運行的UNIX移植到個人PC上來。本著共享的精神,他在網路上公布了LINUX 0.01版,很快,藉助於世界各地的電腦高手們的業余「創作」,LINUX迅速的成長壯大起來,以至於在網路中的很多PC機中安家落戶,版本也做到了2.0。
LINUX的操作風格很類似UNIX,對網路的支持也很完備。一個LINUX系統的用戶無論是收發電子郵件還是文件傳輸,都可以輕松的解決問題。
3 認識SHELL
在INTERNET網中的一般用戶要接觸到LINUX,大概只能通過遠程登錄的方法—
即TELNET程序,作為一個(偽)終端使用LINUX。所以還是先介紹一下如何登錄。
舉個例子,要登錄本校的PEANUT機器:
開啟TELNET 程序(以WIN95/NT中的TELNET為例),在「連接」—「遠程系統」中填入
PEANUT.CDIT.EDU.CN
作為連接的對象,
屏幕顯示:
Welcome to Cheng University of Technology
歡迎訪問成都理工大學校園網路
peanut login:[在這里填你的用戶名]
password: [你的口令]
peanut:~$ [這就是登錄進去後的提示符]
peanut:~$ exit [還是先退出吧]
4 認識文件系統
LINUX的文件系統與DOS基本是一樣的(其實應該反過來說),都具有目錄和文件的概念,也都有一個根目錄,稍稍不同的是目錄用「/」代表,而不是DOS中的「\」。
一個例子:
peanut:~$ pwd [回車]
peanut:~$ /home/home2/rudey [表示你現在位於根目錄下的home目錄下home2目錄下的rudey目錄(有些拗口 J )。]
你一定想到了,既然文件系統都差不多,操作一定也差不到哪去。對,下一節就以與DOS命令對照的形式介紹LINUX的基本操作。
5 命令列表
含義
LINUX
DOS
改變當前目錄
cd [path]
cd [path]
文件或目錄的復制
cp filename1 filename2
filename1 filename2
文件目錄列表
ls
dir
建立新目錄
mkdir
md
分屏顯示[文本]文件的內容
more [filename…]
more <[filename]
更改用戶的口令
passwd
無
顯示當前目錄
pwd
cd
刪除文件[可有通配符]
rm filename
del filename
刪除空目錄
rmdir pathname
rd pathname
清屏
clear
cls
6常用的網路程序
收發電子郵件用的MAIL,PINE軟體
MAIL和PINE都是運行在LINUX中的收發郵件的程序,PINE由於是菜單式的操作,相比之下較MAIL簡單一些。在這里給大家一個提醒:MAIL中用「h」可獲得操作的幫助;在PINE 中能用的命令都顯示在屏幕底部的一行中,要仔細看一看就會用了。
要用的話,在SHELL中,即提示符下,輸入MAIL或PINE就行了。如下:
peanut:-$ mail [回車]
或
peanut:-$ pine [回車]
文件傳輸
文件傳輸是在網路中免費獲得軟體的一個方法,LINUX當然也有相應的程序供使用。
peanut:-$ ftp [回車]
ftp> o ftp.cdit.e.cn [在這里輸入各種指令,現在表示與ftp.cdit.e.cn 站點建立連接]
在歡迎信息之後,可用的指令有ls [列遠端機上的目錄或文件],cd [進入某一級目錄],bin[設置為二進制模式,傳二進制文件時使用],get [下傳文件],quit [結束本程序]等。
提醒:建立連接之後,會有USER[用戶名]的輸入要求,在一般匿名FTP站點上,可以用anonymous[匿名]或ftp作為用戶名,你自己的電子郵件地址作為PASSWORD[口令]。
遠程登錄
用遠程登錄可以做的事情很多,到別的學校的BBS上看看,沒有TELNET是不行的(當然現在也有WWW方式的BBS)。
peanut:-$ telnet bbs.cdit.e.cn [訪問本校的BBS 公告板 ]
要是玩MUD的話,可以這么做:
peanut:-$ telnet mud.cdit.e.cn 4000 [訪問本校的MUD站點,使用4000埠]
登錄以後的事情,留著給你自己看吧。
7 資料源
BBS上的LINUX信息
1 bbs.cdit.e.cn下的精華區里有許多好文章
2 bbs.tsinghua.e.cn有專門討論LINUX的板
新聞組中的LINUX信息
comp.os.linux.help
文檔
1 LINUX:我要創造一個新世界 《軟體》(1997/11)
2 LINUX 使用指南 (清華大學出版社1997 年8月第1版)
3 LINUX 管理者的參考
8結束語
本來還想做一個FAQ,希望大家把在使用LINUX過程中遇到的問題寄給我,一方面會作答;一方面也能把FAQ寫出來。
『貳』 sendmail 在linux 中如何啟動
sendmail的配置文件需要配置正確,由於sendmail的配置十分復雜。通常它的配置文件是sendmail.cf,位於/etc/mail目錄下。由於sendmail.cf的語法深奧難懂,很少有人會直接去修改該文件來對Sendmail伺服器進行配置。一般通過m4宏處理程序來生成所需的sendmail.cf文件。創建的過程中還需要一個模板文件,系統默認在/etc/mail目錄下有一個sendmail.mc模板文件。
可以根據簡單、直觀的sendmail.mc模板來生成sendmail.cf文件,而無需直接編輯sendmail.cf文件。可以直接通過修改sendmail.mc模板來達到定製sendmail.cf文件的目的。這里介紹創建sendmail.cf文件的步驟:
(1)備份原有sendmail.cf文件
在終端命令窗口運行以下命令:
cp /etc/mial/sendmail.cf /etc/mail/sendmail.cf.BAK
(2)生成sendmail.cf文件
根據sendmail.mc模板文件產生sendmail.cf配置文件,並導出到/etc/mail/目錄下:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
(3)重啟sendmail服務
[root@ahpeng root] /etc/rc.d/init.d/sendmail restart
很明顯在用m4宏編譯工具創建sendmail.cf文件比較方便,而且不容易出錯,更可以避免某些帶有安全漏洞或者過時的宏所造成的破壞。一個sendmail.mc模板的大致內容如下:
divert(-1)dnl
......
include('/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID('setup for Red Hat Linux')dnl
OSTYPE('linux')dnl
......
dnl #
dnl define('SMART_HOST','smtp.your.provider')
dnl #
define('confDEF_USER_ID',''8:12'')dnl
define('confTRUSTED_USER', 'smmsp')dnl
dnl define(′confAUTO_REBUILD′)dnl
......
這里介紹sendmail.mc模板的語法組成:
dnl:用來注釋各項,同時dnl命令還用來標識一個命令的結束。
divert(-1):位於mc模板文件的頂部,目的是讓m4程序輸出時更加精簡一些。
OSTYPE ('OperationSystemType'):定義使用的操作系統類型,顯然這里應該用linux代替OperationSystemType,注意要用一個反引號和一個正引號把對應的操作系統類型括起來。
define:定義一些全局設置,對於Linux系統,設置了OSTYPE之後,可以定義下面的一些全局參數,如果不定義,就使用默認值。這里舉兩個簡單例子:define('ALIAS_FILE','/etc/aliases')
定義別名文件(alia file)的保存路徑,默認是/etc/aliases
define('STATUS_FILE', '/etc/mail/statistics')
sendmail的狀態信息文件。
以上只是sendmai.mc的一些簡單的語法解釋,更多的參數含義及其配置信息可以參見http://www.sendmail.org/m4/tweaking_config.html。
3. 為新用戶開電子郵件賬號
在Linux里為新用戶開設電子郵件賬戶比較簡單,只需在Linux系統里新增一個用戶即可。單擊"主菜單→系統設置→用戶和組群"菜單項,打開"Red Hat用戶管理器"對話框,單擊"添加用戶"按鈕,在出現的"創建新用戶"對話框里指定用戶名、登錄口令即可,如圖3所示。
假設我們添加了一個用戶Peter(密碼為peter),這樣該用戶就有了一個郵件地址[email protected](此處的YourDomain.com用你自己域名代替)。
以上過程也可以在終端命令窗口運行以下命令來實現:
[root@ahpeng root]#adser peter -p peter
其實,它是利用磁碟配額功能來實現的。電子郵件的暫存空間是在/var/spool/mail目錄下,只要通過磁碟配額設定每一個用戶在這個目錄下能使用的最大空間即可。
[root@ahpeng root]#/etc/rc.d/init.d/xinetd reload
設置好以後,就可以在Outlook Express裡面設置好郵件賬號,以後就可以直接利用Sendmail伺服器進行收發郵件了,由於郵件伺服器就在本地區域網,所以速度很快。
『叄』 Linux中如何管理mail電子郵件日誌
這篇文章主要介紹了linux系統管理mail電子郵件日誌(郵件系統)的詳細圖解,需要的朋友可以參考下
我們都知道很多日誌的模塊都是放在這下面的
『肆』 如何在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 發送的郵件通知的例子。
『伍』 141Linux 安裝及配置郵件伺服器
效果截圖
Sendmail :sendmail 是最古老的 MTA(Mail Transfer Agent,電子郵件系統)之一,最早它誕生的時候,Internet 還沒有被標准化,當時主機之間使用的是 UUCP 技術來交換郵件。它被設計得比較靈活,便於配置和運行於各種類型的機器。
Qmail :qmail 是新生一代的 MTA 代表,它以速度快、體積小、易配置安裝等特性而著稱。作者 D.J.Bernstein 是一個數學教授,富有傳奇色彩。他於 1995 年開發 qmail,1996 年發布 0.70 版,並使用了多種當時比較先進的 技術,包括 Maildir,與 sendmail 單個 binary 不同的模塊化設計,許可權分離,以及使用了大量由他編寫的配套工具,如 daemontool,ucsip-tcp 等。qmai 迅速成為了 Internet 上最有名的 MTA,使用者眾。
postfix :postfix 如今已經獨樹一幟,流水線、模塊化的設計,兼顧了效率和功能。靈活的配置和擴展,使得配置 postfix 變得富有趣味。其主要的特點是速度快、穩定,而且配置/功能非常強大,並和 sendmail 類似,提供了與外部程序對接的 API/protocol。尤其是配置部分,postfix 另一個優勢是至今依然保持活躍的開發工作,而且穩步發展,適合高流量大負載的系統,擴充能力較強。本實驗也是基於 postfix 伺服器軟體來實現。
郵件伺服器基本的工作原理
MUA(Mail User Agent):向外發送郵件,以及提供用戶瀏覽與編寫郵件的功能。
MTA(Mail Transfer Agent):(可以理解為 smtpd 伺服器)幫忙將用戶的郵件傳遞出去或接收進來。
MDA(Mail Delivery Agent):將接收下來的郵件存放到對應用戶郵筒當中的程序。通過分析 MTA 所收到郵件的表頭或內容,來判斷此郵件是屬於哪個用戶,然後決定將此郵件投遞給哪個用戶的郵筒里。
MRA(Mail Retrieval Agent):通過 MRA 伺服器提供的郵政服務協議(POP)來接收自己的郵件。
郵件中繼:
SMTPD 要支持郵件路由功能,需要打開 Open Relay 開放式中繼。
SMTPD 是根據收件人判斷郵件是否需要中繼,而且只給指定的客戶端中繼。
註:當 DNS 上存在多個 MX 記錄的主機這時就是根據 DNS 的郵件級判斷了。DNS 上定義的值越小,其優先順序越高。輔助交換器接受到郵件並不能保存郵件。而是這個輔助交換器會等到主郵件交換器空閑的時候把代替它接受下來的郵件在轉給主郵件交換器。所以任何郵件處理都是主郵件交換器處理的。所以我們實際情況下,如果有 2 台伺服器做郵件交換器,性能比較高的應該為主的。
安裝配置過程中,postfix 通過 Internet 發送和接收 email,並存儲在用戶郵箱里。同時客戶也可以通過 IMAP 或者 POP3 恢復他們的郵件。其中的客戶認證是通過 Courier Authdaemon 模塊的。下圖表示出了這個過程:
出現安裝界面時,首先按下 <tab> 鍵切換到確定,然後按下回車。
安裝 postfix 的時候會問你安裝的伺服器類型,對於我們的需要,我們選擇默認的 Internet Site,這是最符合我們的伺服器類型,然後按下回車確認。
使用 vim 編輯配置文件:
大概在第 31 行,編輯 myhostname,修改為 myhostname = shiyanlou.com。
然後我們把alias_map參數修改為 alias_maps = hash:/etc/postfix/virtual,之後會講解virtual裡面填寫什麼。
之後設置mynetworks段落,它定義可以使用這台伺服器的主機,我們這里就用默認的本地地址。你也可設置為其他地址。
編輯完成後按下 Esc 鍵,輸入 :wq 保存退出。
此命令創建了一個用戶 master,其中 -d 和 -m 選項用來為登錄名 master 產生一個主目錄 /usr/master(/usr 為默認的用戶主目錄所在的父目錄)。
我們編寫之前設置的 virtual 文件,這些郵箱地址是用來傳送郵件的。
在這個文件里,我們將設置一個表,對應相關的郵件地址。
完成後保存關閉文件。
我們可以通過調用下面這個命令來實現我們的映射:
接著我們重啟 postfix,完成我們的修改:
我們可以用 shiyanlou 這個賬號給 master 這個賬號發一封郵件。首先我們需要安裝一個命令行收發郵件的軟體 mailutils 。
寫一封郵件
輸入如下內容:
其中 -s 參數是指郵件的標題,< 後面是將要發送的郵件內容從 hello.txt 中重定向。這個命令如果正確執行不會有輸出。
然後我們切換到 master 用戶,查看我們的郵件。
按下回車建可以查看郵件內容,輸入 quit 即可退出郵箱。
Linux 郵件伺服器原理介紹,編譯安裝 Postfix 實現本地的郵件服務
Ubuntu 伺服器指南-郵件服務-Postfix
how-to-run-your-own-mail-server-with-mail-in-a-box-on-ubuntu-14-04
『陸』 linux已經登錄到系統的兩個用戶無法使用mail命令收發電子郵件,請問應採取什麼
你好很高興回答您的問題:
排查流程,檢查網路,域名解析是否正常
防火牆是否放行郵件25或465埠
檢查是否配置/etc/mail.rc
如果是雲服務推薦使用465發送郵件,不容易屏蔽.
『柒』 Linux下最好的電子郵件軟體是什麼
Linux 下面的傳統的電子郵件傳輸軟體可以使用 sendmail,但是現在可以使用 POSTFIX 來代替 sendmail,它的配置比 sendmail 稍微簡單一些。