文档章节

sendmail邮件服务器搭载smtp和pop3认证的配置方法

JAVA枪手
 JAVA枪手
发布于 2014/05/27 09:18
字数 1286
阅读 106
收藏 1

网上介绍sendmail的文章千百种,很少有跟着做下来一次成功的。多少都有些说的不准确的地方。我给大家共享一下我经过实验环境测试,完全可行的方法。


1.软件准备


操作系统:centos5.0


我选择centos5,最新的操作系统,不要再用redhat9了,很久没有更新了,企业里用有风险的。更新换代吧。


以下软件,centos5全部自带,无需另外下载。


邮件系统:

               sendmail8.13

               sendmail-cf-8.13

               m4-1.4


pop3认证:dovecot-1.0


smtp认证:

        cyrus-sasl-2.1

        cyrus-sasl-md5-2.1

        cyrus-sasl-plain-2.1

          cyrus-sasl-lib-2.1


sasl这里,我要说一句,网上有人说“sendmail-8.13已经包含cyrus-sasl的功能,所没必要再安装cyrus-sasl”

大 哥大姐们,没有cyrus-sasl用什么做认证.....sendmail官方只是说,sendmail的rpm包默认已经支持了cyrus-sasl 认证方式,也就是说,sendmail会在cyrus-sasl的工作目录下自动创建相关认证配置文件,并监听25号端口,就不用你去手动自己建立配置文 件和监听端口了。当有请求进入25号端口的时候,sendmail会自动找到/usr/lib/sasl2/Sendmail.conf读取认证方法。下 面我会详细解释。


2.安装软件


rpm -ivh把上面软件全装上,都在光盘里呢,好装。


3.认证配置


pop3:


网上说修改/etc/dovecot.conf文件,将第17行的:#protocols = imap imaps pop3 pop3s的#去掉。其实不用,它默认已经启用了这些服务,除非你只想用dovecot-auth的认证,你可以改成protocols = none,否则不用改。


smtp:

注意,smtp稍微麻烦一下。


我讲下原理:


当用户请求进入 25号端口后,sendmail调用cyrus-sasl的saslauthd进程,saslauthd要求对方输入本地系统用户的用户名和密码,当用户 输入好后,saslauthd会去查找系统的/etc/shadow文件,密码确认无误,放行,告诉sendmail,这个用户合法,可以使用邮件服务来 发邮件。


这时候你去/usr/lib/sasl2/下看看,sendmail已经做好了一个sendmail.conf文件,里面指明了:pwcheck_method=saslauthd,说明sendmail认证时就要调用saslauthd

所以要实现上述功能,就要设置cyrus-sasl的saslauthd,给它指定认证方式。

首先,进入/etc/sysconfig/,打开saslauthd的脚本,找到第7行的:


MECH=


等号后面不管写什么,我们都要改成:


MECH=shadow


保存


这样saslauthd才会去找shadow文件给用户做认证。



其实saslauthd还可以用自己的用户名和密码数据库做验证,但这样不方便,还要另外创建用户,不如直接用系统自身存在的用户名和密码。



4.Sendmail配置.


配置邮件服务器名称:


打开/etc/mail/local-host-names

加入你 @后面的邮箱地址。比如我这里是otto@linuxedentest.com

那么,你要在local-host-names文件里的第二行添加:

linuxedentest.com

保存


当然

local-host-names还可以设置邮箱别名,这个不多说,大家查文档看看。


改好后还要去你的dns服务器上,打上mx标志,添加A标记,用来解析dns名和地址。具体方法就要查查bind的设置方法了,或者win2003的dns设置方法。



配置sendmail.mc:


打开/etc/mail/sendmail.mc文件,


找到:


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

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


把前面的dnl注释去掉,变成:


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

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


上面两句的意思是:


放行那些通过EXTERNAL, LOGIN, PLAIN, CRAM-MD5或DIGEST-MD5等方式验证的邮件用户,无视access文件中的设置。


confAUTH_MECHANISMS,确定系统支持的认证方式。LOGIN PLAIN 方式下,outlook用的多。



还不算完,找到:


dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, )dnl


改成:


DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, )dnl


这样所有ip地址都可以通过smtp端口使用我们的邮件服务器了。



-----------------------------------------------------------

这里要说一句,不要改


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


这句话!保持注释状态。


上面那句话,网上好多文章都说把Port=submission,改成Port=25,说是强制所有用户在25端口上做认证。


我不知道sendmail以前的版本是怎么样设置smtp认证的。sendmail8.13不用这么设置,这句话人家sendmail的意思是:取消注释后,一旦当25号端口被重定向或者被屏蔽,或者在25号端口打不开的情况下,马上使用587备用端口给用户做认证。


本来人家sendmail就已经打开了25端口(Port=smtp了已经),你却在这里还Port=25,把备用端口也改成25,这不是让sendmail的sm-client认


证进程和sendmail的主进程抢端口么....


-----------------------------------------------------------



到此为止,保存sendmail.mc



用m4重新生成sendmail.cf文件 


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



启动dovecot进程:

/etc/init.d/dovecot start


启动saslauthd进程:

/etc/init.d/saslauthd start


启动sendmail进程:

/etc/init.d/sendmail start



把这些进程加入到启动脚本中去:

chkconfig dovecot on

chkconfig saslauthd on

chkconfig sendmail on



ok,所有设置全部完成,可以正常认证和收发邮件了。


本文转载自:http://blog.csdn.net/sflsgfs/article/details/6251601

共有 人打赏支持
JAVA枪手
粉丝 7
博文 95
码字总数 15221
作品 0
东城
高级程序员
sendmail邮件服务器搭载smtp和pop3认证的配置方法 && SMTP测试方法(转载)

sendmail邮件服务器搭载smtp和pop3认证的配置方法 网上介绍sendmail的文章千百种,很少有跟着做下来一次成功的。多少都有些说的不准确的地方。我给大家共享一下我经过实验环境测试,完全可行...

张宋付
2011/01/19
0
0
在wdOS系统下搭建postfix和pop/imap邮件收发服务器的一些记录

一.简介: 1. wdOS是一个基于CentOS版本精简优化过的Linux服务器系统,大部分保留着centos服务,而在CentOS中默认的邮件服务器(SMTP方面)是sendmail,但sendmail存在安全隐患,再者邮件的...

shen_丁丁
2012/07/23
0
0
CentOS5 配置sendmail imap,pop3,smtp认证[转]

查看安装 rpm -qa | grep sendmail rpm -qa | grep dovecot rpm -qa | grep cyrus 安装邮件服务器 yum install sendmail sendmail-cf 安装pop3/imap服务 yum install dovecot 安装用户认证 ......

mickelfeng
2012/12/23
0
0
Linux6.5部署Postfix邮件服务器

2-12-部署Postfix邮件服务器实现邮件的收发功能 试验环境: 服务端:xuegod63.cn IP:192.168.1.63 部署Postfix+Dovecot Postfix:提供邮件发送功能,使用的协议:SMTP,端口:25 Dovecot:提...

D杀手D
2017/08/16
0
0
CentOS5 配置 sendmail imap,pop3,smtp认证

查看安装 rpm -qa | grep sendmail rpm -qa | grep dovecot rpm -qa | grep cyrus 安装邮件服务器 yum install sendmail sendmail-cf 安装pop3/imap服务 yum install dovecot 安装用户认证 ......

77970290
2012/09/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Maven 项目中依赖的搜索顺序

ettings_mirror 的优先级高于 central settings_profile_repo 优先级高于 settings_mirror settings_profile_repo 优先级高于 pom_repositories settings_profile_repo 优先级高于 pom_prof......

xingyu4j
32分钟前
2
0
改变maven项目的名称

pom.xml <groupId>com.soft.xxx</groupId><artifactId>xxx</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>xxx Maven Webapp</name><build>......

1713716445
33分钟前
2
0
windows下按照RabbitMQ

rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平...

zhaochaochao
34分钟前
2
0
10个PHP比特币开源项目

如果你是一个Phper,如果你希望学习区块链,那么本文列出的10个开源的Php比特币项目,将有助于你了解在自己的应用中如何加入对比特币的支持。 如果你希望快速掌握使用Php对接比特币钱包的方法...

笔阁
41分钟前
26
0
MyBatis级联探讨

数据模型 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper name......

职业搬砖20年
45分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部