Ubuntu 中sendmail 的安裝、配置與傳送郵件的具體實現
一、安裝
ubuntu中sendmail函式可以很方便的傳送郵件,ubuntu sendmail先要安裝兩個包。
必需安裝的兩個包:
程式碼- sudo apt-get install sendmail
- sudo apt-get install sendmail-cf
下面幾個包是可選的:
- squirrelmail //提供webmail
- spamassassin //提供郵件過濾
- mailman //提供郵件列表支援
- dovecot // 提供IMAP和POP接收郵件伺服器守護程序
注意:
- Ubuntu下使用最常用的mail功能,需要安裝mailutils,
- 安裝命令:sudo apt-get install mailutils
- 使用帶附件的功能,則還需要安裝sharutils,
- 安裝命令:sudo apt-get install sharutils;(yum install sharutils )
終端輸入命令:ps aux |grep sendmail
輸出如下:
root 20978 0.0 0.3 8300 1940 ? Ss 06:34 0:00 sendmail: MTA: accepting connections
root 21711 0.0 0.1 3008 776 pts/0 S+ 06:51 0:00 grep sendmail
說明sendmail 已經安裝成功並啟動了
二、配置
sendmail 預設只會為本機使用者傳送郵件,只有把它擴充套件到整個Internet,才會成為真正的郵件伺服器。
開啟sendmail的配置巨集檔案:/etc/mail/sendmail.mc
vi /etc/mail/sendmail.mc
找到如下行:
程式碼- DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
修改Addr=0.0.0.0 ,表明可以連線到任何伺服器。
生成新的配置檔案:
程式碼- #cd /etc/mail
- #mv sendmail.cf sendmail.cf~ //做一個備份
- #m4 sendmail.mc > sendmail.cf //>的左右有空格,提示錯誤沒有安裝sendmail-cf
三、測試傳送郵件
常用傳送郵件方式如下:
1.如何寫一般的郵件: mail [email protected] Cc 編輯抄送物件,Subject:郵件主題,輸入回車,郵件正文後,按Ctrl-D結束
2.快速傳送方式: echo “郵件正文” | mail -s 郵件主題 [email protected]
3.以檔案內容作為郵件正文來發送: mail -s test [email protected] < test.txt
4.傳送帶附件的郵件: uuencode 附件名稱 附件顯示名稱 | mail -s 郵件主題 傳送地址
例如: uuencode test.txt test.txt | mail -s Test [email protected]
注意問題:
1)
如果你發現你的sendmail啟動很慢的話,可以這樣解決
# vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
修改成
127.0.0.1 localhost.localdomain localhost 主機名稱
檢視本機的主機名稱的命令是: hostname
只保留這一行就行,多餘的行就可以刪掉
2)
*** ERROR: FEATURE() should be before MAILER()
*** MAILER(`local') must appear after FEATURE(`always_add_domain')*** ERROR: FEATURE() should be before MAILER()
*** MAILER(`local') must appear after FEATURE(`allmasquerade')*** ERROR: FEATURE() should be before MAILER()
修改sendmail.mc最後幾行
vi /etc/mail/sendmail.mc
將文件中的
MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl
放到文件最後(為什麼這麼做,沒有找到原因,不過錯誤的提示,要求你這樣做)