大家好,我在redhat7.2中配置sendmail 已经成功了,我打算继续配置smtp的功能,但是我根据如下配置7。1的方式配置之后,发现,我同时可以使用认证smtp或不认证smtp的方式发信,等于没有意义的实现了smtp认证,请问高手,我该怎么处理?才好。
1. 选择‘服务器系统’安装Redhat 7.1
2. 进入目录 /usr/share/sendmail-cf/cf 。
如果你没有该目录,说明你还没有安装sendmail-cf-8.11.2-14 RPM包,从你的安装CD中安装它。
3. 修改文件redhat.mc如下
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(`../m4/cf.m4)
VERSIONID(`linux setup for Red Hat Linux)dnl
OSTYPE(`linux)
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
define(`STATUS_FILE, `/var/log/sendmail.st)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
define(QUEUE_DIR,`/var/spool/mqueue/q*)
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, `1
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)dnl
FEATURE(`virtusertable,`hash -o /etc/mail/virtusertable)dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
FEATURE(local_procmail)dnl
FEATURE(`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=127.0.0.1, Name=MTA)
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
MAILER(smtp)dnl
MAILER(procmail)dnl
其中,我加了下面的行:
1. define(QUEUE_DIR,`/var/spool/mqueue/q*)
2. TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN)dnl
3. define(`confAUTH_MECHANISMS, `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN)dnl
4. DAEMON_OPTIONS(`Port=25,Name=MTA)dnl
5. DAEMON_OPTIONS(`Port=587,Name=MSA,M=Ea)dnl
注:
第1行 我启动了多个邮件队列,希望得到更好的队列处理和性能改进。
第2,3行 移走前面的注释,打开相应的各种认证机制。
第4,5行 设置相应的MTA和MSA所在的端口号。
且注释出了
1. dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA)
2. dnl FEATURE(`accept_unresolvable_domains)dnl
第1行 允许通过网络连接Sendmail。
第2行 禁止不可解析的域名relay邮件
最后运行
#m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
写到/etc/sendmail.cf文件中
既然我们打开了多个队列,现在我们在/var/spool/mqueue/下创建任意多个队列目录如
#cd /var/spool/mqueue
#mkdir q1 q2 q3 q4 q5 q6
这样Sendmail将会使用这六个目录做为队列目录,增加了性能。
五: 设置SASL认证方案