繁体中文
设为首页
加入收藏
当前位置:服务器技术首页 >> 邮件服务 >> RedHat9.0下带认证的Sendmail邮件服务器安装手册

RedHat9.0下带认证的Sendmail邮件服务器安装手册

2004-11-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:环境:RedHat Linux 9.0 完全安装或者确保以下安装包已经安装完毕: imap-2001a-18.i286.rpm sendmail-8.12.8-4.i386.rpm m4-1.4.1-13.i386.rpm cyrus-sasl-2.1.10-4.i386.rpm cyrus-sasl-md5-2.1.10-4.i386.rpm...

环境:RedHat Linux 9.0 完全安装或者确保以下安装包已经安装完毕:

imap-2001a-18.i286.rpm

sendmail-8.12.8-4.i386.rpm

m4-1.4.1-13.i386.rpm

cyrus-sasl-2.1.10-4.i386.rpm

cyrus-sasl-md5-2.1.10-4.i386.rpm

cyrus-sasl-plain-2.1.10-4.i386.rpm

cyrus-sasl-gssapi-2.1.10-4.i386.rpm

目的:实现带认证功能的邮件服务器的配置安装

一.Sendmail服务配置

1.安装RedHat Linux 9.0后,修改/etc/mail/sendmail.mc,修改后文件如下:

divert(-1)dnl

dnl #

dnl # This is the sendmail macro config file for m4. If you make changes to

dnl # /etc/mail/sendmail.mc, you will need to regenerate the

dnl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package is

dnl # installed and then performing a

dnl #

dnl # make -C /etc/mail

dnl #

include(`/usr/share/sendmail-cf/m4/cf.m4')dnl

VERSIONID(`setup for Red Hat Linux')dnl

OSTYPE(`linux')dnl

dnl #

dnl # Uncomment and edit the following line if your outgoing mail needs to

dnl # be sent out through an external mail server:

dnl #

dnl define(`SMART_HOST',`smtp.your.provider')

dnl #

define(`confDEF_USER_ID',``8:12'')dnl

define(`confTRUSTED_USER', `smmsp')dnl

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

dnl define(`STATUS_FILE', `/etc/mail/statistics')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

dnl #

dnl # The following allows relaying if the user authenticates, and disallows

dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links

dnl #

dnl define(`confAUTH_OPTIONS', `A p')dnl

dnl #

dnl # PLAIN is the preferred plaintext authentication method and used by

dnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs do

dnl # use LOGIN. Other mechanisms should be used if the connection is not

dnl&n

bsp;# guaranteed secure.

dnl #

[color=red:8e47f78b9a]define(QUEUE_DIR, `/var/spool/mqueue/q*')[/color:8e47f78b9a]

[color=red:8e47f78b9a]TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl[/color:8e47f78b9a]

[color=red:8e47f78b9a]define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl[/color:8e47f78b9a]

dnl #

dnl # Rudimentary information on creating certificates for sendmail TLS:

dnl # make -C /usr/share/ssl/certs usage

dnl #

dnl define(`confCACERT_PATH',`/usr/share/ssl/certs')

dnl define(`confCACERT',`/usr/share/ssl/certs/ca-bundle.crt')

dnl define(`confSERVER_CERT',`/usr/share/ssl/certs/sendmail.pem')

dnl define(`confSERVER_KEY',`/usr/share/ssl/certs/sendmail.pem')

dnl #

dnl # This allows sendmail to use a keyfile that is shared with OpenLDAP's

dnl # slapd, which requires the file to be readble by group ldap

dnl #

dnl define(`confDONT_BLAME_SENDMAIL',`groupreadablekeyfile')dnl

dnl #

dnl define(`confTO_QUEUEWARN', `4h')dnl

dnl define(`confTO_QUEUERETURN', `5d')dnl

dnl define(`confQUEUE_LA', `12')dnl

dnl define(`confREFUSE_LA', `18')dnl

define(`confTO_IDENT', `0')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.db')dnl

FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl

FEATURE(redirect)dnl

FEATURE(always_add_domain)dnl

FEATURE(use_cw_file)dnl

FEATURE(use_ct_file)dnl

dnl #

dnl # The -t option will retry delivery if e.g. the user runs over his quota.

dnl #

FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl

FEATURE(`access_db',`hash -T -o /etc/mail/access.db')dnl

FEATURE(`blacklist_recipients')dnl

EXPOSED_USER(`root')dnl

dnl #

dnl # The following causes sendmail to only listen on the IPv4 loopback address

dnl # 127.0.0.1 and not on any other network devices. Remove the loopback

dnl # address restriction to accept email from the internet or intranet.

dnl #

[color=red:8e47f78b9a]dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Na

me=MTA')dnl[/color:8e47f78b9a]

dnl #

dnl # The following causes sendmail to additionally listen to port 587 for

dnl # mail from MUAs that authenticate. Roaming users who can't reach their

dnl # preferred sendmail daemon due to port 25 being blocked or redirected find

dnl # this useful.

dnl #

[color=red:8e47f78b9a]DAEMON_OPTIONS(`Port=25, Name=MSA')dnl[/color:8e47f78b9a]

dnl #

dnl # The following causes sendmail to additionally listen to port 465, but

dnl # starting immediately in TLS mode upon connecting. Port 25 or 587 followed

dnl # by STARTTLS is preferred, but roaming clients using Outlook Express can't

dnl # do STARTTLS on ports other than 25. Mozilla Mail can ONLY use STARTTLS

dnl # and doesn't support the deprecated smtps; Evolution <1.1.1 uses smtps

dnl # when SSL is enabled-- STARTTLS support is available in version 1.1.1.

dnl #

dnl # For this to work your OpenSSL certificates must be configured.

dnl #

dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl

dnl #

dnl # The following causes sendmail to additionally listen on the IPv6 loopback

dnl # device. Remove the loopback address restriction listen to the network.

dnl #

dnl # NOTE: binding both IPv4 and IPv6 daemon to the same port requires

dnl # a kernel patch

dnl #

dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')dnl

dnl #

dnl # We strongly recommend not accepting unresolvable domains if you want to

dnl # protect yourself from spam. However, the laptop and users on computers

dnl # that do not have 24x7 DNS do need this.

dnl #

FEATURE(`accept_unresolvable_domains')dnl

dnl #

dnl FEATURE(`relay_based_on_MX')dnl

dnl #

dnl # Also accept email sent

to "localhost.localdomain" as local email.

dnl #

LOCAL_DOMAIN(`localhost.localdomain')dnl

dnl #

dnl # The following example makes mail from this host and any additional

dnl # specified domains appear to be sent from mydomain.com

dnl #

dnl MASQUERADE_AS(`mydomain.com')dnl

dnl #

dnl # masquerade not just the headers, but the envelope as well

dnl #

dnl FEATURE(masquerade_envelope)dnl

dnl #

dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well

dnl #

dnl FEATURE(masquerade_entire_domain)dnl

dnl #

dnl MASQUERADE_DOMAIN(localhost)dnl

dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl

dnl MASQUERADE_DOMAIN(mydomainalias.com)dnl

dnl MASQUERADE_DOMAIN(mydomain.lan)dnl

MAILER(smtp)dnl

MAILER(procmail)dnl

文件中,红色字体的行为需要修改的地方,共有五行需要修改。

第一行是手动添加的,与认证无关,作用是启动多个邮件队列,为了获得更好的传输性能。

第二行和第三行是去掉行首的注释。”TRUST_AUTH_MECH”的作用是使sendmail不管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文件

3.既然我们打开了多个队列,现在我们在/var/spool/mqueue/下创建任意多个队列目录,运行:

# cd /var/spool/mqueue

# mkdir q1 q2 q3 q4 q5 q6

4.修改/etc/mail/local-host-names,将希望该邮件服务器使用的邮箱名加进去,比如邮箱为:xxx@abc.com.cn则将abc.com.cn加入到该文件中。

5.重新启动sendmail服务,运行:

# killall –HUP sendmail

6.可以通过telnet 本机IP 25来验证sendmail服务是否已经正常启动,若登陆成功,则说明sendmail服务已经成功启动。

# telnet localhost 25

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'

220 localhost.localdomain ESMTP Sendmail 8.12.8/8.12.8; Wed, 12 May 2004 15:57:01 +0800

ehlo localhost

250-ENHANCEDSTATUSCODES

250-PIPELINING

250-8BITMIME

250-SIZE

250-DSN

250-AUTH GSSAPI LOGIN PLAIN

250-DELIVERBY

250-HELP

quit

#

在AUTH后面有LOGIN就基本上可以在OutlookExpress上认证了。

二.Pop3服务配置:

1.运行:

# ntsysv

在系统服务列表中选中ipop3,选’OK’保存推出

2.重启xinetd服务,运行:

# service xinetd restart

3.运行netstat命令看smtp和pop3服务是否都已经启动

# netstat -l

以前曾经参考过心余和peng两位大侠的关于在RedHat8.0下配置带认证功能的sendmail邮件服务器的帖子,但是照做后发现有问题。不妥的地方在于配置文件

/etc/mail/sendmail.mc中的两句:

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

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

根据这样的配置,sendmail只有在587端口才对用户强制进行身份认证,而在smtp服务默认用的端口25(OutlookExpress上默认用的就是25)上则用户认不

认证都无所谓,我在OutlookExpress上选择“我的服务器要求身份认证”sendmail就进行认证,若不选该选项,sendmail服务器不加任何认证就会转发任

何邮件。这种策略显然是不合理的,安全的策略是只在默认的25端口强制进行身份认证,否则不予转发邮件,在其他端口根本不打开。因而这两句应合成一

句:

[color=red:8e47f78b9a]DAEMON_OPTIONS(`Port=25, Name=MSA')dnl[/color:8e47f78b9a]

在这种配置下,邮件服务器仅在收发双方都是本地用户的时候才不强制进行身份认证,其他情况的时候都要进行认证。这篇贴子没有经过严格测试就发出来了,实在是对不住大家,现在我已经改正了相应的配置,就是上面的一句话。在此道歉! :oops:

jamian 回复于:2004-05-12 18:18:09

Thanks!

I want this long time... :em10:

odyness 回复于:2004-05-13 10:43:07

我将587改为25后,一发邮件,sendmail进程就退出啊。请楼主赐教。

hk007 回复于:2004-05-13 14:36:55

不好意思,没有遇到过这种现象,是不是系统装的有问题?不应该的呀,没有道理一个请求使得后台服务进程退出的。可以察看一下日志文件,看看有没有什么错误信息,日志文件位置在:

/var/log/maillog

最新的内容在最后面,查查看先?

odyness 回复于:2004-05-14 11:29:34

NOQUEUE: SYSERR(root): opendaemonsocket: daemon MSA: cannot bind: Address already in use daemon MSA: problem creating SMTP socket

NOQUEUE: SYSERR(root): opendaemonsocket: daemon MSA: cannot bind: Address already in use daemon MSA: problem creating SMTP socket

NOQUEUE: SYSERR(root): opendaemonsocket: daemon MSA: cannot bind: Address already in use daemon MSA: problem creating SMTP socket

NOQUEUE: SYSERR(root): opendaemonsocket: daemon MSA: cannot bind: Address already in use daemon MSA: problem creating SMTP socket

NOQUEUE: SYSERR(root): opendaemonsocket: daemon MSA: cannot bind: Address already in use daemon MSA: problem creating SMTP socket

NOQUEUE: SYSERR(root): opendaemonsocket: daemon MSA: cannot bind: Address already in use daemon MSA: problem creating SMTP socket

NOQUEUE: SYSERR(root): opendaemonsocket: daemon MSA: cannot bind: Address already in use daemon MSA: problem creating SMTP socket

NOQUEUE: SYSERR(root): opendaemonsocket: daemon MSA: server SMTP socket wedged: exiting

怎么解决啊?

odyn

ess 回复于:2004-05-14 11:31:50

OQUEUE: SYSERR(root): opendaemonsocket: daemon MSA: cannot bind: Address already in use daemon MSA: problem creating SMTP socket

NOQUEUE: SYSERR(root): opendaemonsocket: daemon MSA: cannot bind: Address already in use daemon MSA: problem creating SMTP socket

NOQUEUE: SYSERR(root): opendaemonsocket: daemon MSA: cannot bind: Address already in use daemon MSA: problem creating SMTP socket

NOQUEUE: SYSERR(root): opendaemonsocket: daemon MSA: cannot bind: Address already in use daemon MSA: problem creating SMTP socket

NOQUEUE: SYSERR(root): opendaemonsocket: daemon MSA: server SMTP socket wedged: exiting

怎么解决啊?

hbt0755 回复于:2004-05-14 13:31:54

请将DAEMON_OPTIONS(`Port=25, Name=MSA, M=Ea')dnl中的M=Ea改为M=E即可

odyness 回复于:2004-05-14 14:55:38

谢谢。不过,foxmail居然不用认证也能发邮件,郁闷。outlook倒是不经认证就不能发送。

ilovecr 回复于:2004-05-14 15:22:56

[color=blue:8c11ebfd52]根据这样的配置,sendmail只有在587端口才对用户强制进行身份认证,而在smtp服务默认用的端口25(OutlookExpress上默认用的就是25)上则用户认不

认证都无所谓,我在OutlookExpress上选择“我的服务器要求身份认证”sendmail就进行认证,若不选该选项,sendmail服务器不加任何认证就会转发任

何邮件。这种策略显然是不合理的,安全的策略是只在默认的25端口强制进行身份认证,否则不予转发邮件,在其他端口根本不打开。因而这两句应合成一 [/color:8c11ebfd52]

這個不對吧。印象中 sendmail.mc中的註釋不是這樣講的。

ilovecr 回复于:2004-05-14 15:27:39

dnl # The following causes sendmail to additionally listen to port 587 for

dnl # mail from MUAs that authenticate. Roaming users who can't reach their

dnl # preferred sendmail daemon due to port 25 being blocked or redirected find

dnl # this useful.

odyness 回复于:2004-05-14 15:35:42

那改成25后,foxmail为啥不用认证也能发送啊?foxmail也是通过25端口发送邮件的。

ilovecr 回复于:2004-05-14 16:57:22

请问:

是不是您也设置了 access ?

而恰好包含您的ip?

ぁ天上人间ぁ 回复于:2004-05-15 09:52:50

垃圾

d18zj 回复于:2004-05-24 09:40:18

[quote:24f63f1b4f]..根据这样的配置,sendmail只有在587端口才对用户强制进行身份认证,而在smtp服务默认用的端口25(OutlookExpress上默认用的就是25)上则用户认不

认证都无所谓,我在OutlookExpress上选择“我的服务器要求身份认证”sendmail就进行认证,若不选该选项,sendmail服务器不加任何认证就会转发任

何邮件。这种策略显然是不合理的,安全的策略是只在默认的25端口强制进行身份认证,否则不予转发邮件,在其他端口根本不打开。因而这两句应合成一

句: ...[/quote:24f63f1b4f]

其实可以在access文件里拒绝为任何人Relay,这样的话就必须通过验证后才能转发邮件啊

不过我验证的出了问题啊,

望大侠指教:

Trying 192.168.70.11...

Connected to 192.168.70.11.

Escape character is '^]'.

220 mail.d18.com ESMTP Sendmail 8.12.10/8.12.10; Mon, 24 May 2004 09:33:21 +0800ehlo d18.com

250-mail.d18.com Hello [192.168.70.11], pleased to meet you

250-ENHANCEDSTATUSCODES

250-PIPELINING

250-8BITMIME

250-SIZE

250-DSN

250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN

250-DELIVERBY

250 HELP

如果这样的话验证应该是没问题的吧,可是我在Outlook express里面总是验证通不过,直接在Telnet里面输入:auth login;base64编码后的username和密码,提示验证失败,这是什么问题啊?该做的,我都做了啊,我都快急疯了!!

查看/var/log/maillog,发现有下列信息:

May 24 09:09:50 DGIT01 sendmail[1537]: i4O19maX001537: [192.168.70.11] did not issue MAIL/EXPN/VRFY/ETRN during connection to MSA

hk007 回复于:2004-05-24 16:36:17

在access文件中不要设置拒绝转发任何邮件,我是将access文件清空在重新生成access.db,让sendmail完全按照sendmail.cf中的配置去做。

d18zj 回复于:2004-05-24 19:46:45

[quote:ecccf78dfe="hk007"]在access文件中不要设置拒绝转发任何邮件,我是将access文件清空在重新生成access.db,让sendmail完全按照sendmail.cf中的配置去做。[/quote:ecccf78dfe]

对,sendmail默认就是拒绝转发任何邮件。

我的smtp验证问题终于自己搞定了,我得出了一个结验,“没事多看看日志!”

chenyajun5 回复于:2004-05-30 20:32:10

楼上 的兄弟,我总是搞不定阿,,

谈谈你的做法,

chenyajun5 回复于:2004-05-30 21:09:37

请问 d18zj:

你是如何搞定的,

birdielu 回复于:2004-05-31 09:26:18

为什么我的完全按照上面的改动却不行能, 下面是返回的消息:

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

220 birdie.com ESMTP Sendmail 8.12.11/8.12.8; Mon, 31 May 2004 09:23:15 +0800

ehlo localhost

250-birdie.com Hello ljf [127.0.0.1], pleased to meet you

250-ENHANCEDSTATUSCODES

250-PIPELINING

250-8BITMIME

250-SIZE

250-DSN

250-DELIVERBY

250 HELP

quit

我在.mc文件是完全按照楼主作的, 怎么办呢?

wujack 回复于:2004-05-31 20:52:15

我也是只能在outlook里才能认证,foxmail里不认证就可以发信,问题出在哪里啊??????

hk007 回复于:2004-06-01 17:58:06

不好意思,原来我的配置还没有经过严格的测试,现在已经改了,其中的一句DAEMON_OPTIONS(`Port=25, Name=MSA, M=Ea')dnl

应该为:

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

把M=Ea去掉,这样应用的是默认规则,即只有在发件人或收件人中至少有一方是服务器本地用户是才予以转发(Relay),否则拒绝转发。

这样的话,只有本地用户给本地用户发送邮件时服务起不加身份认证也照样发送,但只要有一方不是本地用户,服务器就强行进行身份认证。这次应该没有问题了,这种配置已经在我们公司的服务器上稳定工作了一段时间。对外手法邮件都没有问题。

抱歉! :oops:

d18zj 回复于:2004-06-02 09:28:35

[quote:7a5ae2cabb="chenyajun5"]楼上 的兄弟,我总是搞不定阿,,

谈谈你的做法,[/quote:7a5ae2cabb]

大部分都像楼主所说的那样,只不过我的telnet localhost 25后虽然出现:

250-AUTH DIGEST-MD5 CRAM-MD5 LO

GIN PLAIN

但是认证后总是提示“535 5.7.0 authentication failed”。后来查看日志文件发现提示“May 24 16:11:42 DGIT01 saslauthd[1546]: do_auth : auth failure: [user=zj ] [service=smtp] [realm=] [mech=pam] [reason=PAM auth error]”

于是我在/etc/pam.d/目录下参照其它文件建立一个“smtp”文件(postfix的是smtp.postfix),内容如下:

#%PAM-1.0

auth required pam_stack.so service=system-auth

account required pam_stack.so service=system-auth

上面几行是什么意思,可以参考PAM 方面的文档,从此认证成功。

关于有些人说在outlook Express或Foxmail 中不管是否选择Smtp 认证Sendmail都reply 邮件。我的做法是在Access文件中设置不转发任何邮件,所以里面只有如下内容:

localhost RELAY

127.0.0.1 RELAY

这样除非在服务器端,不通过认证是不会Reply 邮件的。

跟楼主不同的地方是,我的Sendmail.mc文件中只有设置:

DAEMON_OPTIONS(`Port=25,Addr=0.0.0.0,Name=MTA')我没有添加

“[color=red:7a5ae2cabb]DAEMON_OPTIONS(`Port=587, Name=MSA, M=Ea')[/color:7a5ae2cabb]”这一句,我加了dnl注释掉了。

经过我测试,不论是否有DAEMON_OPTIONS(`Port=587, Name=MSA, M=Ea')这一句对Smtp 认证都没影响,加了以后再将端口改成587或25也没影响。关于这一句配置文件中有如下解释:

The following causes sendmail to additionally listen to port 587 for

mail from MUAs that authenticate. Roaming users who can't reach their

preferred sendmail daemon due to port 25 being blocked or redirected find

this useful.

不过我的是Fedora 1.

wujack 回复于:2004-06-02 09:50:14

hk007大侠啊,还是不行,foxmail不用认证一样可以发,??????

birdielu 回复于:2004-06-02 10:26:10

我的认证按照上面的做法,还是没有呀!为什么?

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

220 test.com ESMTP Sendmail 8.12.8/8.12.8; Wed, 2 Jun 2004 10:25:24 +0800

ehlo test

250-test.com Hello ljf [127.0.0.1], pleased to meet you

250-ENHANCEDSTATUSCODES

250-PIPELINING

250-8BITMIME

250-SIZE

250-DSN

250-ETRN

250-DELIVERBY

250 HELP

quit

221 2.0.0 test.com closing connection

快点帮帮忙吧?

birdielu 回复于:2004-06-02 10:26:10

我的认证按照上面的做法,还是没有呀!为什么?

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

220 

;test.com ESMTP Sendmail 8.12.8/8.12.8; Wed, 2 Jun 2004 10:25:24 +0800

ehlo test

250-test.com Hello ljf [127.0.0.1], pleased to meet you

250-ENHANCEDSTATUSCODES

250-PIPELINING

250-8BITMIME

250-SIZE

250-DSN

250-ETRN

250-DELIVERBY

250 HELP

quit

221 2.0.0 test.com closing connection

快点帮帮忙吧?

wujack 回复于:2004-06-02 16:05:27

大哥大,大哥大大?请问你们在foxmail里也必须通过认证才能发么?我杂个只能在outlook中起效啊?????帮帮我啊,疯了!

hk007 回复于:2004-06-02 17:31:33

我的那个配置同事在Foxmail上已经试过了,没有问题啊。

wujack 回复于:2004-06-03 08:59:21

你在foxmail里没有保存密码吧?如果保存了,就绝对不用验证了~~~~~

shj0308 回复于:2004-06-09 12:18:25

第一行是手动添加的,与认证无关,作用是启动多个邮件队列,为了获得更好的传输性能。 我就是按照你们说的做的,但是我的邮件为什么不能到我所设的q1 q2 q3 q4 q5 q6.......里边去呢,请哥哥姐姐们多多指教,小弟感激不尽,要不我就疯了。谢谢各位大侠,我的邮件地址是suhaijun@egoldtime.com谢谢了:em16:

xingzm 回复于:2004-07-22 18:02:48

好 真详细

join-2008 回复于:2004-07-23 19:22:02

可我还是没有弄好呀!

saman 回复于:2004-07-26 18:19:23

按楼主说的配置后pop3服务已经启动了

tcp 0 0 *:pop3 *:* LISTEN

但是无法telnet到25端口

Trying 127.0.0.1...

telnet: connect to address 127.0.0.1: Connection refused

估计什么原因?

[color=red:87204502df]这个问题已经解决了,忘了更改DAEMON_OPTIONS(`Port=25, Name=MSA,M=E')dnl。:)[/color:87204502df][/code]

saman 回复于:2004-07-26 21:10:37

的确存在在foxmail里不需要验证的情况。但是在mailog里却看到已经验证了Jul 26 21:07:42 test sendmail[5012]: AUTH=server, relay=[192.168.20.74], authid=saman, mech=LOGIN, bits=0。我遇到的问题是telnet 127.0.0.1 25看不到楼主说的哪些内容,但是在outlook里一样需要验证。如果不验证就提示Relaying denied. IP name lookup failed[192.168.20.74]。

saman 回复于:2004-07-26 21:19:09

[quote:4571d87fe9="wujack"]你在foxmail里没有保存密码吧?如果保存了,就绝对不用验证了~~~~~[/quote:4571d87fe9]不是保存密码的问题。没有保存密码的情况下,无论是否需要验证都提示输入esmtp验证密码

nnhlx 回复于:2004-07-27 14:19:10

我完全是按照所说的来配置的,但是不行的,telnet 25端口时总是出现

Connection refused,看看/var/log/maillog,有这么一句话:

did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA

还有每次启动sendmail时总会出现这么一段话:

Starting sendmail:make: ***Warning: File 'sendmail.cf' has modification time in the future (2004-07-27 07:53:56 > 200

4-07-27

03:09:39.029378)

make:warning: Clock skew detected. Your build may be incomplete.

看看/var/log/maillog,有这么几句话:

sendmail[8231]:alias database /etc/aliases rebuilt by root

sendmail[8231]:/etc/aliases:63 aliases,longest 10 bytes,625 bytes total

sendmail[8242]:starting daemon (8.12.8):SMTP+queueing@01:00:

00

sm-msp-queue[8252]:starting daemon (8.12.8):queueing@01:00:

00

各位帮帮我,老板都过问了几次了,郁闷... :cry:

saman 回复于:2004-07-27 22:12:10

[color=red:03115f7153]每次启动sendmail时总会出现这么一段话:

Starting sendmail:make: ***Warning: File 'sendmail.cf' has modification time in the future (2004-07-27 07:53:56 > 2004-07-27

03:09:39.029378)

make:warning: Clock skew detected. Your build may be incomplete[/color:03115f7153]出现这个错误的原因是sendmail.cf的创建时间比当前系统时间较快,由于要生成新的sendmail.cf,所以会出现错误提示。更改一下sendmail.cf的时间就应该没问题了。

nnhlx 回复于:2004-07-28 14:12:23

sendmail.cf 的时间怎么修改

saman 回复于:2004-07-28 14:57:00

cd /etc/mail

touch *

skynet 回复于:2004-07-29 18:23:20

支持!!!加个WEBMAIL就更好些。

lling 回复于:2004-08-02 14:18:38

首先谢谢楼主,我照你说的配的.telnet localhost 25 已经成功 pop3也成功.

但是windows端的outlook

192.168.10.91

192.168.10.91

root@linux

password //登录密码

为什么它让我频繁确认密码

lling 回复于:2004-08-02 14:39:17

我重新建了一个用户

成功了

为什么呀

saman 回复于:2004-08-02 21:43:23

不允许使用root帐号登陆

zhutan73625 回复于:2004-08-03 18:24:19

我按楼主所说在RH9下用sendmail做了一个mail服务器,系统启动了SMTP、POP3等服务,在报务器上可以telnet 25 ,110 服务,但在局域网其它机器上只能telnet 25而110则不行。反应在OUTLOOK中设置后只能发邮件,不能收邮件。

someday 回复于:2004-11-17 13:12:21

这样做会不会收到好多垃圾MAIL啊??

yxg0512 回复于:2004-12-25 21:50:01

小弟是在AS3U3的系统里,跟楼主007配置环境一样,出现的问题如下:

首先,认证通不过。telnet服务器的25,110均成功,但在Outlook中设置服务器要求身份验证的话,发邮件时,一直弹出来让输入用户名密码,都已输过且记住了;若不选服务器要求身份验证,提示服务器拒绝发件人地址。请问是何原因呢?

非常感谢大侠的指点!

arbor 回复于:2005-01-19 15:45:43

[quote:29648b6020="yxg0512"]小弟是在AS3U3的系统里,跟楼主007配置环境一样,出现的问题如下:

首先,认证通不过。telnet服务器的25,110均成功,但在Outlook中设置服务器要求身份验证的话,发邮件时,一直弹出来让输入用户名密码,都已输过且..........[/quote:29648b6020]

我弄了一个做测试的,也有这个问题,估计出在认证方面,晚上再看看。不加认证发信可以的,加了认证反而发不出去,反复提示输入用户名和密码。

yxg0512 回复于:2005-01-26 16:40:35

[quote:87f16e4e52="arbor"]

我弄了一个做测试的,也有这个问题,估计出在认证方面,晚上再看看。不加认证发信可以的,加了认证反而发不出去,反复提示输入用户名和密码。[/quote:87f16e4e52]

兄弟 你的问题解决了没有? 我的还是不行哪

> gqin 回复于:2005-01-28 18:51:23

((define(QUEUE_DIR, `/var/spool/mqueue/q*')

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

在这种配置下,邮件服务器仅在收发双方都是本地用户的时候才不强制进行身份认证,其他情况的时候都要进行认证.))

这些话是楼主说的,我按您的方法试过了。我的邮件服务器收发邮件,都没有问题,不过还是有些不尽人意的地方,请楼主赐教!!!

(1)我用公司的一个本地用户向163.com(我自已在163.com中的私人邮箱)发了一封信,<<这样,收信人就不是本地用户了>>可是邮件服务器根本就没有进行认证,邮件就发出去了。

不知为何,请楼主赐教!!!

(2)我把outlook加上(我的邮件服件器需要认证)这样信却发不出去了

总是停在那儿,我的密码是正确的,也发不了信,就停在那儿让我输入密码

我把outlook取消(我的邮件服件器需要认证)就好了。信就发出去了。

不知这个问题如何解决,请楼主赐教!!!

(3)按照smtp认证的说法,就是说有了smtp认证功能以后 /etc/mail/access中是的数据就可以清空了

(只留127.0.0.1 RELAY 这一行)

然后运行

makemap hash /etc/mail/access.db

这样就可以在用户通过验证的情况下,发邮件到任何地方了。

可是我将/etc/mail/access中是的数据清空了

(只留127.0.0.1 RELAY 这一行)

然后运行

makemap hash /etc/mail/access.db

我再发邮件到外网,邮件服务器就拒绝了,说是收信人地址被拒绝,邮箱无效。

不知这个问题怎么解决,就楼主赐教!!!

(4)我用telnet xxxx 25

ehlo xxx

mail from : xx@xxx.com

rcpt to : yy@xxx.com

data

SUBJECT:test

xxxx

.

这样还是可以伪造一封邮件,而且根本不需要认证。

不知这个问题如何解决,请楼主赐教!!!

愿楼主您和您的家人,幸福快乐!!!

lovegqin 回复于:2005-01-28 18:57:34

((define(QUEUE_DIR, `/var/spool/mqueue/q*')

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

在这种配置下,邮件服务器仅在收发双方都是本地用户的时候才不强制进行身份认证,其他情况的时候都要进行认证.))

这些话是楼主说的,我按您的方法试过了。我的邮件服务器收发邮件,都没有问题,不过还是有些不尽人意的地方,请楼主赐教!!!

(1)我用公司的一个本地用户向163.com(我自已在163.com中的私人邮箱)发了一封信,<<这样,收信人就不是本地用户了>>可是邮件服务器根本就没有进行认证,邮件就发出去了。

不知为何,请楼主赐教!!!

(2)我把outlook加上(我的邮件服件器需要认证)这样信却发不出去了

总是停在那儿,我的密码是正确的,也发不了信,就停在那儿让我输入密码

我把outlook取消(我的邮件服件器需要认证)就好了。信就发出去了。

不知这个问题如何解决,请楼主赐教!!!

(3)按照smtp认证的说法,就是说有了smtp认证功能以后 /etc/mail/access中是的数据就可以清空了

(只留127.0.0.1 RELAY 这一行)

然后运行

makemap hash /etc/mail/access.db

这样就可以在用户通过验证的情况下,发邮件到任何地方了。

可是我将/etc/mail/access中是的数据清空了

(只留127.0.0.1 RELAY 这一行)

然后运行

makemap hash /etc/mail/access.db

我再发邮件到外网

责任编辑:admin
相关文章