首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

求救!sendmail认证~该如何处理

2012-01-21 
求救!sendmail认证~~~急redhat9上面,cyrus-sasl-devel-2.1.10-4cyrus-sasl-2.1.10-4cyrus-sasl-plain-2.1.

求救!sendmail认证~~~急
redhat   9上面,
cyrus-sasl-devel-2.1.10-4  
cyrus-sasl-2.1.10-4  
cyrus-sasl-plain-2.1.10-4  
cyrus-sasl-md5-2.1.10-4  
openssl-0.9.8e
sendmail-8-12.4

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   #
define(`confAUTH_OPTIONS ',   `A   p   y ')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   #   guaranteed   secure.
dnl   #
define(QUEUE_DIR,   `/var/spool/mqueue/q* ')dnl
TRUST_AUTH_MECH(`EXTERNAL   DIGEST-MD5   CRAM-MD5   LOGIN   PLAIN ')dnl
define(`confAUTH_MECHANISMS ',   `EXTERNAL   GSSAPI   DIGEST-MD5   CRAM-MD5   LOGIN   PLAIN ')dnl
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 <TMPF>   -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   #
dnl   DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1,   Name=MTA ')dnl
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   #
DAEMON_OPTIONS(`Port=25,   Name=MSA ')dnl
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

/////////////////////////////////////////////////////////////////////
  /sbin/service   sendmail   restart没有报错
只是/usr/sbin/sendmail   -d0.1   -bv   root出现:

Version   8.14.1
  Compiled   with:   DNSMAP   LOG   MATCHGECOS   MILTER   MIME7TO8   MIME8TO7
                                NAMED_BIND   NETINET   NETUNIX   NEWDB   PIPELINING   SCANF   USERDB   XDEBUG
Warning:   Option:   AuthMechanisms   requires   SASL   support   (-DSASL)


Warning:   Option:   AuthOptions   requires   SASL   support   (-DSASL)

============   SYSTEM   IDENTITY   (after   readcf)   ============
            (short   domain   name)   $w   =   localhost
    (canonical   domain   name)   $j   =   localhost.localdomain
                  (subdomain   name)   $m   =   localdomain
                            (node   name)   $k   =   localhost.localdomain
========================================================
而且我用telnet   localhost   25
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-DELIVERBY
250   HELP
没有认证那句,求教各位,我倒底哪里出了问题?
/usr/lib/sasl,/usr/lib/sasl2,/usr/local/lib/sasl2下面的
Sendmail.conf   文件内容我都改成了
pwcheck_method:   saslauthd
mech_list:   login   plain   digest-md5

/etc/access下面我只剩下:
localhost                                               RELAY
127.0.0.1                                               RELAY

现在不能发邮件,准确的说是不能对外网发邮件

不好意思,因为很着急,又在这栏发一次了,想要更多的人看到

[解决办法]
没用过sendmail,查一下你sendmail的配置里是否指定使用了sasl认证。

热点排行