配置 liunx 下 send mail

从没有接触过 Linux ,更不用说如何配置 send mail。在从PM那里接到这个 task 之前,对邮件服务器的概念是比较模糊的,更不知道还有 send mail 这么一档子事情。既然 task 的 deadline 已经制定,并且就是一周之后的这个时间,天,只能从 google 开始了。(看来以后还真的需要对 Linux 进行一些必要的了解,至少应该知道 etc 目录在什么地方,因为这个我还是询问了 Nicky 之后才知道的)

下面的文字绝大部分来自于 internet,我只是综合了一下,对自己的配置步骤进行一个大致的总结,同时我此时只是关心如何发送邮件,而不关心如何收取的事情。


1. 修改/etc/mail/sendmail.mc

#vi /etc/mail/sendmail.mc
将下面四行改为如下(如果原本就是如下的样式,则不需要进行任何修改,恭喜你):
# TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
# define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
# dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
# DAEMON_OPTIONS(`Port=25, Name=MSA')dnl

第一行和第二行是去掉行首的注释。
”TRUST_AUTH_MECH” 的作用是使 sendmai l不管 access 文件中如何设置,都能 relay 那些通过EXTERNAL, LOGIN, PLAIN, CRAM-MD5或DIGEST-MD5等方式验证的邮件。
”confAUTH_MECHANISMS" 的作用是确定系统的认证方式。Outlook Express支持的认证方式是LOGIN。

第三行是加上注释,以便让sendmail可以侦听所有网络设备,为整个网络提供服务,而不仅仅只对本机提供服务。

第四行是修改的,原来内容是:
dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
去掉行首的注释符,并且将内容修改成Port=25
DAEMON_OPTIONS(`Port=25, Name=MSA')dnl
在smtp的默认端口(25)上进行认证,而不是587端口。这样就强制所有使用该邮件服务器进行邮件转发的用户在认证后才能发邮件了。


2.运行:
# m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
用m4重新生成sendmail.cf文件,记住,如果你对sendmail.mc文件进行了修改,就一定要执行此步骤,这样保证你的sendmail.cf是全新的。

3.修改/etc/mail/local-host-names,
将希望该邮件服务器使用的邮箱名加进去,比如邮箱为:peter@xxxx.com则将xxxx.com加入到该文件中。
# local-host-names - include all aliases for your machine here.
xxxx.com
mail.xxxx.com


4.修改/etc/mail/access,
在这里添加上你要收发邮件所通过的IP出口***.***.***.***,这里我们的IP是192.168.4.102,给他放任的权限RELAY(所有)。
# 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.4.102                     RELAY
记得,在你修改完这个文件后要执行makemap hash access.db < access,
这样可以保证你所建立的表是最新的

(如果你想给一个网段里的所有IP赋予 relay 权限,那么可以直接输入 192.168.4 RELAY

5.修改/etc/hosts,
这个文件也很重要,他是设定你邮件服务器域名的关键,根据你的不同,可以自行设置。
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1      
xxxx .com            xxxx
127.0.0.1       localhost.localdomain   localhost
192.168.4.1   xxxx.com            xxxx
(192.168.4.1 在这里我配置的是当前 Linux 的网关)

OK,目前为止我们的邮件服务器已经配置完成

6.下面要重新启动两个邮件服务

重启sendmail服务,运行:
# service sendmail restart

重启xinetd服务,运行:
# service xinetd restart

运行netstat命令看smtp和pop3服务是否都已经启动
# netstat -l


Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 *:ftp                   *:*                     LISTEN      
tcp        0      0 *:ssh                   *:*                     LISTEN      
tcp        0      0 *:telnet                *:*                     LISTEN      
tcp        0      0 ethergns.com:ipp        *:*                     LISTEN      
tcp        0      0 *:smtp                  *:*                     LISTEN      
udp        0      0 *:32768                 *:*                                 
.......
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING     2435   /tmp/.font-unix/fs7100

........
接着写一段 JavaMail 来发送 E-mail 就可以了。

reference
1.http://bbs.chinaunix.net/viewthread.php?tid=817853
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值