十分鍾安裝帶認證的sendmail

前言

有朋友找到我,讓我幫忙配置一台郵件服務器。我的這位朋友也是適用Linux有一段時間的了,並且他還在Linux上開發了幾個軟件。他愁眉苦臉的跟我說,以前沒配過sendmail,在網上查找了一些資料,每每看到文章開頭寫道:“配置sendmail是一項龐大而複雜的系統工程....”還沒讀完就暈倒過去。蘇醒後,就來找我了,問我能不能有什麽速成之類的辦法,因爲他根本不想研究sendmail是怎麽工作的,就想搭建起來能完成工作就可以了。

我決定幫助他解決他所遇到的問題,于是在下班後翻出以前配置郵件服務器的筆記,花了10分鍾左右就在他的新安裝一台服務器上運行起來了一個郵件服務器(甚至比配置IIS的郵件服務器還快)。在回家的路上,我邊開車邊想:要是配置所有服務器都能按照一個簡單的步驟完成(就想開車一樣),那使用 Linux的人不就更多了嗎?這裏的核心就是一個比較通用的配置文件,並且他還時帶SMTP認證的,既然我已經有了這個成果,爲什麽不和更多的初學者分享呢?也許這就是開放源碼社區的精神吧。讓我們開始:

按照這個步驟,只要十分鍾就可以配置出一個帶有SMTP認證的郵件服務器。當然了,郵件服務器需要配置DNS的MX記錄和指向等這裏就不討論了。另外主機名和網絡配置也要制定好。還有,基本的Linux命令你要知道一些。

[准備工作]

下面這兩項工作是必須要准備好的:

1、安裝RedHat7.3,缺省安裝即可,但是要保證選裝了sendmail

2、下載qpopper4.0.3.tar.gz,這個是pop3服務器的源碼。(在網上搜索一下,很多的)

[開始計時]

1、複制qpopper4.0.3.tar.gz到/usr/local/src

2、tar zxvf qpopper4.0.3.tar.gz 釋放壓縮文件

3、cd qpopper4.0.3 進入子目錄

4、./configure --prefix=/usr --exec-prefix=/usr --enable-standalone

5、make

6、make install 這一步可能會出錯,主要是man文件的目錄沒有事先建立。執行:mkdir /usr/man;mkdir /usr/man/man8即可(或根據提示進行,希望你能夠看得懂出錯的地方)。

7、編輯:/etc/mail/sendmail.mc把下面的內容完全覆蓋進去:注意下面的第13行中XXX.com改成你的域名:

divert(-1)

dnl This is the sendmail macro config file. If you make changes to this file,

dnl you need the sendmail-cf rpm installed and then have to generate a

dnl new /etc/sendmail.cf by running the following command:

dnl

dnl m4 /etc/mail/sendmail.mc /etc/sendmail.cf

dnl

include(`/usr/share/sendmail-cf/m4/cf.m4')

VERSIONID(`linux setup for Red Hat Linux')dnl

OSTYPE(`linux')

dnl Uncomment and edit the following line if your mail needs to be sent out

dnl through an external mail server:

dnl define(`SMART_HOST',`XXX.com')

define(`confDEF_USER_ID',``8:12'')dnl

undefine(`UUCP_RELAY')dnl

undefine(`BITNET_RELAY')dnl

define(`confAUTO_REBUILD')dnl

define(`confTO_CONNECT', `1m')dnl

define(`confTRY_NULL_MX_LIST',true)dnl

define(`confDONT_PROBE_INTERFACES',true)dnl

define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl

define(`ALIAS_FILE', `/etc/aliases')dnl

dnl define(`STATUS_FILE', `/etc/mail/statistics')dnl

define(`UUCP_MAILER_MAX', `2000000')dnl

define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl

define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl

define(`confAUTH_OPTIONS', `A')dnl

TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

DAEMON_OPTIONS(`Port=25,Name=MTA')dnl

DAEMON_OPTIONS(`Port=587,Name=MSA,M=Ea')dnl

dnl define(`confTO_QUEUEWARN', `4h')dnl

dnl define(`confTO_QUEUERETURN', `5d')dnl

dnl define(`confQUEUE_LA', `12')dnl

dnl define(`confREFUSE_LA', `18')dnl

dnl FEATURE(delay_checks)dnl

FEATURE(`no_default_msa',`dnl')dnl

FEATURE(`smrsh',`/usr/sbin/smrsh')dnl

FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl

FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl

FEATURE(redirect)dnl

FEATURE(always_add_domain)dnl

FEATURE(use_cw_file)dnl

FEATURE(use_ct_file)dnl

dnl The '-t' option will retry delivery if e.g. the user runs over his quota.

FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl

FEATURE(`access_db',`hash -o /etc/mail/access.db')dnl

FEATURE(`blacklist_recipients')dnl

EXPOSED_USER(`root')dnl

dnl This changes sendmail to only listen on the loopback device 127.0.0.1

dnl and not on any other network devices. Comment this out if you want

dnl to accept email over the network.

dnl DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')

dnl NOTE: binding both IPv4 and IPv6 daemon to the same port requires

dnl a kernel patch

dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')

dnl We strongly recommend to comment this one out if you want to protect

dnl yourself from spam. However, the laptop and users on computers that do

dnl not have 24x7 DNS do need this.

dnl FEATURE(`accept_unresolvable_domains')dnl

dnl FEATURE(`relay_based_on_MX')dnl

dnl FEATURE(`relay_local_from')dnl

MAILER(smtp)dnl

MAILER(procmail)dnl

Cwlocalhost.localdomain

8、在/etc/mail中執行m4 sendmail.mc /etc/sendmail.cf

9、編輯/etc/mail/local-host-names增加你的域名XXX.com進去。

10、啓動:/etc/init.d/sendmail restart

11、啓動:/usr/sbin/popper xxx.xxx.xxx.xxx:110 (其中xxx.xxx.xxx.xxx是你的IP地址)

12、useradd -g mail ABC (增加一個用戶名)

13、配置你的客戶端,別忘了配置SMTP認證,試驗一下用戶ABC能不能使用了?

恭喜你!你已經有了一個帶由SMTP認證的郵件服務器了。不過要完成更複雜的配置,就要仔細研究一下sendmail的mc命令了。你還可以考慮一下,如何讓用戶自行修改密碼呢?答案就是用/usr/sbin/passwd命令作爲用戶的shell,這樣,就可以讓用戶登陸上來修改自己的密碼了。當然,現在有現成的圖形界面工具:chpasswd軟件是專門修改系統用戶密碼用的,以後我們再介紹了。

十分鍾安裝帶認證的sendmail
  前言  有朋友找到我,讓我幫忙配置一台郵件服務器。我的這位朋友也是適用Linux有一段時間的了,並且他還在Linux上開發了幾個軟件。他愁眉苦臉的跟我說,以前沒配過sendmail,在網上查找了一些資料,每每看到文...查看完整版>>十分鍾安裝帶認證的sendmail
 
十分鍾安裝帶認證的sendmail
  前言  有朋友找到我,讓我幫忙配置一台郵件服務器。我的這位朋友也是適用Linux有一段時間的了,並且他還在Linux上開發了幾個軟件。他愁眉苦臉的跟我說,以前沒配過sendmail,在網上查找了一些資料,每每看到文...查看完整版>>十分鍾安裝帶認證的sendmail
 
sendmail的SMTP認證
  Sendmail的SMTP認證一直是個問題,我們來試驗一下最簡單的方法。  一、檢查所需的包是否已經安裝好  要使用SMTP認證,需要安裝sendmail和cyrus-sasl,如果你在使用Redhat或其他的Linux版本,請檢查這兩個包是...查看完整版>>sendmail的SMTP認證
 
Sendmail中的SASL SMTP認證
一:概述 在現代網絡環境中,mail relay是個討論得非常熱烈的話題,如何在公司的郵件服務器上 允許外部用戶或者移動用戶進行mail relay則是人們關注的焦點,隨著標准化的SASL認證 的出現並結合開放源軟件Sendmail新版...查看完整版>>Sendmail中的SASL SMTP認證
 
Sendmail SMTP SASL認證詳盡指南
一:概述 在現代網絡環境中,mail relay是個討論得非常熱烈的話題,如何在公司的郵件服務器上 允許外部用戶或者移動用戶進行mail relay則是人們關注的焦點,隨著標准化的SASL認證 的出現並結合開放源Sendmail新版本...查看完整版>>Sendmail SMTP SASL認證詳盡指南
 
Sendmail SMTP SASL認證詳盡指南
一:概述 在現代網絡環境中,mail relay是個討論得非常熱烈的話題,如何在公司的郵件服務器上 允許外部用戶或者移動用戶進行mail relay則是人們關注的焦點,隨著標准化的SASL認證 的出現並結合開放源軟件S...查看完整版>>Sendmail SMTP SASL認證詳盡指南
 
SENDMAIL安裝體會
  安裝完DNS就會有telebyte.com.cn這個主機域。現在SENAMAILV8不要太多的配置:有幾點可許對配置有用telent localhost 25可以,但是服務器沒開25端口,從網絡無法訪問,sendmail不是由xinetd控制,從哪裏打開25口呢...查看完整版>>SENDMAIL安裝體會
 
sendmail安裝筆記下篇
  5、sendmail配置  要sendmail正常運行,還需配置幾個文件,首先最重要的就是sendmail.cf 文件了。它在源碼目錄樹下的cf/cf目錄下有很多例子可參考。你可以拷貝使用。由于sendmail.cf中的語法很複雜,所以不建議...查看完整版>>sendmail安裝筆記下篇
 
Sendmail安裝入門
  一.安裝sendmail  如果你在安裝LINUX的時候,選擇了E-MAIL服務,sendmail就已經安裝在LINUX系統中了,並且已經作了一些最基本的設置。假如你在安裝時沒有選擇,或者你需要升級sendmail就可以使用以下方法進行。...查看完整版>>Sendmail安裝入門
 
 
回到王朝網路移動版首頁