sendmail 邮件服务器 套件,Fedora架设Sendmail邮件服务器

一:安装必要的软件

(1)查询 rpm -qa sendmail m4

有结果显示证明已经安装了必要的软件,没有显示请使用yum install sendmail 命令进行安装(可以上网的情况下)或者利用系统盘进行安装(有光盘的话,iso文件也可以)

(2)安装关联的套件

sendmail-dev, sendmai-doc sendmail-cf

推荐使用yum 安装(yum install sendmai*或者挂载光盘进行安装 rpm -ivh sendmail-*) 关于yum的使用,欢迎阅读我转载的yum基本使用:http://zm177cm.blog.163.com/blog/static/114612382007102045940710

(3)安装成功以后

vi /etc/mail/local-host-names 打开这个文件 然后在里面加入你想发邮件的时候用到的域名(可以是虚拟的,但不推荐使用现存 的,有侵权的嫌疑~ 也容易发生错误) 例如

[root@localhost named]# cat /etc/mail/local-host-names

# local-host-names - include all aliases for your machine here.

ltest.com

test.com就是你想要填的~~~

(4)重建sendmail.cf

sendmail.cf是sendmail的配置文件,通过修改sendmail.mc文件进行修改,

DaemonPortsOptions=Port=smtp,Addr=127.0.0.1, Name=MTA 更改为:

DaemonPortsOptions=Port=smtp,Addr=yourip或者0.0.0.0, Name=MTA

或者把这一行用dnl注释掉(就是在这一行前面加入dnl 然后空格 dnl的意思,按照linux系统管理手册的解释就是delete to next lin的意思 有位仁兄解释为 do not load 看上去也正确,倒是是那个意思我就不管了,明白意思就好了)

然后m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf(重建sendmail.cf或者可以先备份,各人喜欢~~)

(5)修改用户认证

还是上面那个文件vi /etc/mail/sendmail.mc 进入到里面以后找到

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

49行 dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

#刪掉上面兩行前面的 dnl

#注意:TRUST_AUTH_METH、define 前面不要留有空格

112行 dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

#前面加上 dnl, 把這行註解起來(dnl = do not load)

#或改成下面這樣也可以

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

注:上面修改用户认证这一段是引用我转载的一篇文章的:

(6)修改端口

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

去掉行首的注释符,并且将内容修改成Port=25:

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

在smtp的默认端口(25)上进行认证,而不是587端口。这样就强制所有使用该邮件服务器(就是我们现在架设的这个服务器)进行邮件转发的用户在认证后才能发邮件了。

再次运行m4程序

# m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

用m4重新生成sendmail.cf文件

(7)添加邮件用户

建立用户帐号

[root@localhost named]# groupadd mailuser

[root@localhost named]# adduser -g mailuser -s /sbin/nologin mike

[root@localhost named]# adduser -g mailuser -s /sbin/nologin john

[root@localhost named]# passwd mike

[root@localhost named]# passwd john 密码由你自己喜欢 用户也随你喜欢添加几个(这一段引用另一篇转载的文章)

(8)访问控制

5,访问控制设置

更改/etc/mail/accesss文件,增加:

[root@localhost named]# cat /etc/mail/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

ltest.com RELAY(这个就是你自己填到local-host-names里面的名字,一定要写[其实我也不肯定,不过我是写了 因为我最近时间比较紧迫,没有进行验证,希望看了的朋友帮忙验证一下])

完成后makemap hash /etc/mail/access.db < /etc/mail/access进行数据库更新。

(9)重启服务

[root@localhost named]# service sendmail restart

看到

关闭 sm-client: [确定]

关闭 sendmail: [确定]

启动 sendmail: [确定]

启动 sm-client: [确定]

就正确了(后面两个是确定就可以了,因为如果服务还没有启动 的华 关闭服务会事失败的)

(10)测试服务器

[root@localhost named]# telnet localhost 25

Trying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is '^]'.

220 localhost.localdomain ESMTP Sendmail 8.13.1/8.13.1; Sat, 17 Mar 2007 12:54:47 +0800

ehlo localhost(用户输入)

250-localhost.localdomain Hello localhost.localdomain [127.0.0.1], pleased to meet you

250-ENHANCEDSTATUSCODES

250-PIPELINING

250-8BITMIME

250-SIZE

250-DSN

250-ETRN

250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN ---认证应该生效

250-DELIVERBY

250 HELP

quit(用户输入 退出telnet)

221 2.0.0 localhost.localdomain closing connection

Connection closed by foreign host.

看见这些信息就代表成功了

然后就可以使用php的邮件类(网上很多,不好意思,没办法传上来,或者有需要的话,过些时候我会把我用 的粘贴上来)在server (邮件服务器这个变量)填上"localhost" 用户邮箱(本服务器[刚弄好这个])就填刚刚添加上去的用户名+在local-host-names填上的域名就可以在收件人那里显示了(尽管可能是虚拟的)例如mike@test.com 密码就是刚刚用户的密码(这是需要验证的smtp邮件程序) port就是25 这样你就可以用你刚刚架好的这台服务器进行邮件的发送了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值