ubuntu安裝sendmail

一、安裝 ubuntu中sendmail函數可以很方便的發送郵件,ubuntu sendmail先要安裝兩個包。必需安裝的兩個包:  sudo apt-get install sendmail   sudo apt-get install sendmail-cf   下面幾個包是可選的: squirrelmail             //提供webmail        spamassassin          //提供郵件過濾   mailman                   //提供郵件列表支援dovecot                   // 提供IMAP和POP接收郵件伺服器守護進程       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      //做一個備份 #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] 另外需要注意,將sendmail使用的域名進行相應的修改,系統默認為localhost.localdomain,其實不改也行,不過有些pop3伺服器會過濾掉來自localhost.localdomain的郵件,導致郵件不能正常查收,所以,最好是改一下 hostname,確保郵件發送的成功率。 以下是我線上機器修改好了的配置,可供參考。 # cat /etc/hosts 127.0.0.1       met.com    localhost.localdomain    localhost   一般/etc/hosts 的內容一般有如下類似內容:   127.0.0.1     localhost.localdomain     localhost   每行由三部份組成,每個部份由空格隔開。   其格式就是   IP地址 主機名/域名  主機名別名     即,第一部份:網路IP地址;第二部份:主機名或域名;第三部份:主機名別名;   那我們要把它修改為自己的域名,以server110.com為例,我們就修改為以下格式:

127.0.0.1     server110.com    localhost  # cat /etc/mail/access  Connect:localhost.localdomain           RELAY  Connect:localhost                       RELAY  Connect:127.0.0.1  Connect:met.com                 RELAY  # cat /etc/mail/local-host-names   met.com

修改完成後,重啟sendmail服務,通過telnet命令,測試一下看看是否已生效

# telnet 127.0.0.1 25  Trying 127.0.0.1...  Connected to met.com (127.0.0.1).  Escape character is '^]'.  220 met.com ESMTP Sendmail 8.13.8/8.13.8; Sun, 10 Oct 2010 14:00:33 +0800

從以上結果可以發現,localhost.localdomain 已經變成了 met.com 這個域名,表示修改成功

PS:

如果使用sudo命令時報錯:sudo: unable to resolve host webank.pw

則是由於/etc/hostname and /etc/hosts這兩個文件中沒有包含webank.pw

PS:

作者伺服器成功配置實例:

youhong@webank$ cat /etc/hosts  127.0.0.1 localhost.localdomain localhost  127.0.0.1 webank.pw    # The following lines are desirable for IPv6 capable hosts  ::1     ip6-localhost TENCENT.site TENCENT ip6-loopback  fe00::0 ip6-localnet  ff00::0 ip6-mcastprefix  ff02::1 ip6-allnodes  ff02::2 ip6-allrouters    youhong@webank$ cat /etc/hostname  webank.pw

至此,可以使用帶域名的郵箱給其它郵箱發送郵件了。

關於sendmail的日誌和配置文件:

       sendmail默認安裝成功後,它的日誌是在/var/log下,裡面記載了sendmail的各種日誌,其配置文件則主要分布在/etc/mail路徑下。