[root@localhost etc]# rpm -qa | grep sendmail
sendmail-cf-8.13.4-2
sendmail-8.13.4-2
安装sendmail做smtp SERVER
- 步骤一。Sendmail前先做DNS 配置
| [root@localhost etc]# cat /etc/named.conf zone "macg.com" IN { type master; file "macg.zone"; allow-update { none; }; }; |
| [root@localhost mail]# vi /var/named/macg.zone $TTL 86400 @ IN SOA @ root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ); @ IN NS 192.168.1.12; IN A 192.168.1.12; www IN A 192.168.1.12; test IN A 192.168.1.12; ftp IN A 192.168.1.12; pop3 IN A 192.168.1.12; smtp IN A 192.168.1.12 |
- 步骤二。sendmail.cf修改
| 使本地和异地foxmail都能发mail 必须改成实际域名,否则虽然 linux本地能发mail,但一些客户端(如foxmail)无法通过sendmail发mail C{w}localhost localdomain 改成 C{w}localhost macg.com smtp.macg.com 主域名 email(smtp)服务器域名 |
| # SMTP client options #O ClientPortOptions=Family=inet, Address=0.0.0.0 client address不必改,就保持缺省的# |
| # SMTP daemon options O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA Addr只能是0.0.0.0 |
- 步骤三。linux smtp服务启动
| [root@localhost mail]# /etc/init.d/sendmail restart Shutting down sendmail: [ OK ] Shutting down sm-client: [ OK ] Starting sendmail: [ OK ] Starting sm-client: [ OK ] sendmail daemon启动同时也启动了client |
- 步骤四。email客户端PC配置
| 1. PC DNS指向上面的DNS SERVER |
| 2. pop3 帐户就是unix 普通用户 pop3 account:mac pop3 password:xxxxxx |
| 3. foxmail 建立帐户 帐户mac@macg.com SMTP SERVER :smtp.macg.com POP3 SERVER :pop3.macg.com |
/etc/mail/access不必做任何修改
| [root@localhost mail]# vi access localhost.localdomain RELAY localhost RELAY 127.0.0.1 RELAY macg.com RELAY smtp.macg.com RELAY 192.168.1 RELAY |
| 删掉了192.168.1 RELAY FOXMAIL仍能发mail 本机也能发mail给本机帐户 |
| 删掉macg.com RELAY 删掉smtp.macg.com RELAY FOXMAIL仍能发mail 本机也能发mail给本机帐户 |
注意修/etc/mail/改access,完后都要做两步:
[root@localhost mail]# makemap hash /etc/mail/access.db < /etc/mail/access
[root@localhost mail]# /etc/init.d/sendmail restart
local-host-names不必做任何修改
| [root@localhost mail]# cat local-host-names # local-host-names - include all aliases for your machine here. |
| FOXMAIL仍能发mail 本机也能发mail给本机帐户 |
sendmail.cf是sendmail的主配置文件
早期sendmail.cf是放在/etc下
RH9是放在/etc/mail下
在src/sendmail.8.9.3/cf目录下还有许多适应各种系统的sendmail.cf的文件样本
两种sendmail.cf配置方法
- 直接修改 /etc/mail/sendmail.cf文件来配置sendmail的
- mc生成法:配置sendmail.mc文件,生成sendmail.cf
| vi /etc/mail/sendmial.mc |
| m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf |
sendmail.cf 下的DaemonPortOptions=Port=smtp,Addr的设法
| # SMTP daemon options O DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA 此时可以在本地给本机发mail 但在其他PC无法用foxmail通过 sendmail发邮件 |
| # SMTP daemon options O DaemonPortOptions=Port=smtp,Addr=192.168.1.12, Name=MTA 此时linux本地无法通过mail指令发mail给本机用户 但可以在其他PC用foxmail 通过sendmail 发邮件 |
| # SMTP daemon options O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA 最佳办法 既可以在本地给本机发mail 也可以在PC用foxmail发 |
mail troubleshooting
- 能发信不能收信
- 能本地发信给本地帐户,但不能通过异地客户端(foxmail)发信的
- 能通过异地客户端(foxmail)发信的,而不能本地发信给本地帐户
- 也可能出现foxmail可以发信给SERVER的另一个帐户,实际仍属于server本地发信,但无法发信给一个mail server的帐户
其他 配置文件
| [root@localhost macg]# ls /etc/mail access domaintable helpfile mailertable Makefile sendmail.mc submit.cf trusted-users virtusertable.db access.db domaintable.db local-host-names mailertable.db sendmail.cf spamassassin submit.mc virtusertable |
| [root@localhost mail]# cat local-host-names # local-host-names - include all aliases for your machine here |
| [root@localhost mail]# cat trusted-users # trusted-users - users that can send mail as others without a warning # apache, mailman, majordomo, uucp, are good candidates |
| [root@localhost mail]# cat access # Check the /usr/share/doc/sendmail/README.cf file for a description # of the format of this file. (search for access_db in that file) # The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc # package. # # by default we allow relaying from localhost... localhost.localdomain RELAY localhost RELAY 127.0.0.1 RELAY 192.168.1 RELAY |
sendmail log在哪里看?
| [root@localhost mail]# cat /var/log/maillog May 7 18:01:55 localhost pop3-login: Login: macg [::ffff:192.168.1.11] May 7 18:05:08 localhost sendmail[6566]: l47A48Iq006566: from=<macg@192.168.1.12>, size=328, class=0, nrcpts=1, msgid=<200705071005.l47A48Iq006566@localhost.localdomain>, proto=SMTP, daemon=MTA, relay=[192.168.1.11] May 7 18:05:08 localhost sendmail[6566]: l47A48Iq006566: to=<macg@192.168.1.12>, delay=00:00:00, mailer=esmtp, pri=30328, dsn=4.4.3, stat=queued |
