linux下搭建linux开源邮件服务器器用outlook发送测试邮件失败

Outlook登录不了。请高手帮看下。Web上收发正常 - Postfix在中国 -
ExtMail 邮件服务器 邮件服务器,邮件系统,企业邮局系统,WebMail,linux邮件服务器,免费邮件服务器,邮件系统下载,PushMail,手机邮箱,Email Server - Powered by Discuz!
Outlook登录不了。请高手帮看下。Web上收发正常
Outlook登录不了。请高手帮看下。
www# postconf -n
broken_sasl_auth_clients = yes
command_directory = /usr/local/sbin
config_directory = /usr/local/etc/postfix
daemon_directory = /usr/local/libexec/postfix
debug_peer_level = 2
html_directory = no
local_destination_concurrency_limit = 1
mail_owner = postfix
mailbox_size_limit =
mailq_path = /usr/local/bin/mailq
manpage_directory = /usr/local/man
message_size_limit =
mydomain = keming.com
myhostname = mail.keming.com
mynetworks_style = host
myorigin = $mydomain
newaliases_path = /usr/local/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
sample_directory = /usr/local/etc/postfix
sendmail_path = /usr/local/sbin/sendmail
setgid_group = maildrop
smtp_tls_CAfile = /usr/local/etc/postfix/certs/cacert.pem
smtp_tls_cert_file = /usr/local/etc/postfix/certs/mycert.pem
smtp_tls_key_file = /usr/local/etc/postfix/certs/mykey.pem
smtpd_banner = FreeBSD 7.0 ESMTP Postfix Mail System
smtpd_delay_reject = yes
smtpd_recipient_restrictions = permit_sasl_authenticated
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_starttls_timeout = 60s
smtpd_tls_CAfile = /usr/local/etc/postfix/certs/cacert.pem
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /usr/local/etc/postfix/certs/mycert.pem
smtpd_tls_key_file = /usr/local/etc/postfix/certs/mykey.pem
smtpd_tls_loglevel = 3
smtpd_tls_received_header = yes
smtpd_use_tls = yes
unknown_local_recipient_reject_code = 550
virtual_alias_maps = $alias_maps, ldap:/usr/local/etc/postfix/ldap_virtual_alias_maps.cf
virtual_gid_maps = static:1000
virtual_mailbox_base = /var/domains
virtual_mailbox_domains = ldap:/usr/local/etc/postfix/ldap_virtual_domains_maps.cf
virtual_mailbox_limit =
virtual_mailbox_maps = ldap:/usr/local/etc/postfix/ldap_virtual_mailbox_maps.cf
virtual_uid_maps = static:1000
#################################################################
端口现象:
www# netstat -an|more
Active Internet connections (including servers)
Proto Recv-Q Send-Q&&Local Address& && && & Foreign Address& && &&&(state)
tcp4& && & 0& && &0&&192.168.1.7.389& && &&&192.168.1.7.64547& && &ESTABLISHED
tcp4& && & 0& && &0&&192.168.1.7.64547& && &192.168.1.7.389& && &&&ESTABLISHED
tcp4& && & 0& && &0&&192.168.1.7.389& && &&&192.168.1.7.62955& && &ESTABLISHED
tcp4& && & 0& && &0&&192.168.1.7.62955& && &192.168.1.7.389& && &&&ESTABLISHED
tcp4& && & 0& && &0&&192.168.1.7.389& && &&&192.168.1.7.53412& && &ESTABLISHED
tcp4& && & 0& && &0&&192.168.1.7.53412& && &192.168.1.7.389& && &&&ESTABLISHED
tcp4& && & 0& &&&48&&192.168.1.7.22& && && &192.168.1.18.4229& && &ESTABLISHED
tcp4& && & 0& && &0&&*.21& && && && && && & *.*& && && && && && &&&LISTEN
tcp4& && & 0& && &0&&*.*& && && && && && &&&*.*& && && && && && &&&CLOSED
tcp46& && &0& && &0&&*.80& && && && && && & *.*& && && && && && &&&LISTEN
tcp4& && & 0& && &0&&*.22& && && && && && & *.*& && && && && && &&&LISTEN
tcp6& && & 0& && &0&&*.22& && && && && && & *.*& && && && && && &&&LISTEN
tcp4& && & 0& && &0&&*.993& && && && && && &*.*& && && && && && &&&LISTEN
tcp4& && & 0& && &0&&*.143& && && && && && &*.*& && && && && && &&&LISTEN
tcp4& && & 0& && &0&&*.995& && && && && && &*.*& && && && && && &&&LISTEN
tcp4& && & 0& && &0&&*.110& && && && && && &*.*& && && && && && &&&LISTEN
tcp4& && & 0& && &0&&127.0.0.1.10025& && &&&*.*& && && && && && &&&LISTEN
tcp4& && & 0& && &0&&*.465& && && && && && &*.*& && && && && && &&&LISTEN
tcp4& && & 0& && &0&&*.25& && && && && && & *.*& && && && && && &&&LISTEN
tcp6& && & 0& && &0&&::1.953& && && && && & *.*& && && && && && &&&LISTEN
tcp4& && & 0& && &0&&127.0.0.1.953& && && & *.*& && && && && && &&&LISTEN
tcp4& && & 0& && &0&&127.0.0.1.53& && && &&&*.*& && && && && && &&&LISTEN
tcp4& && & 0& && &0&&*.389& && && && && && &*.*& && && && && && &&&LISTEN
tcp6& && & 0& && &0&&*.389& && && && && && &*.*& && && && && && &&&LISTEN
######################################
www# tail -f /var/log/maillog
Jun 14 12:38:14 www authdaemond: modules=&authldap&, daemons=5
Jun 14 12:38:14 www authdaemond: Installing libauthldap
Jun 14 12:38:14 www authdaemond: Installation complete: authldap
Jun 14 12:38:16 www postfix/postfix-script[771]: starting the Postfix mail system
Jun 14 12:38:16 www postfix/master[772]: daemon started -- version 2.4.6, configuration /usr/local/etc/postfix
Jun 14 12:39:58 www postfix[924]: fatal: usage: postfix [-c config_dir] [-Dv] command
Jun 14 12:40:08 www postfix/postfix-script[929]: fatal: usage: postfix start (or stop, reload, abort, flush, check, set-permissions, upgrade-configuration)
Jun 14 12:40:14 www postfix[930]: fatal: usage: postfix [-c config_dir] [-Dv] command
Jun 14 12:40:59 www pop3d: LOGIN FAILED, user=root, ip=[192.168.1.18]
Jun 14 12:41:15 www last message repeated 2 times
请高手帮看下是怎么会事。outlook登录不了。
附件: 您需要才可以下载或查看附件。没有帐号?
lz的登陆信息没写错吧?怎么是root用户登陆?晕!!
走自己的路,让别人说去吧
Outlook登录不了。请高手帮看下。Web上收发正常
试过其它象:test用户也是一样的。
这是新的日志:www# tail -f /var/log/maillog
Jun 14 22:35:50 www postfix/postfix-script[1124]: stopping the Postfix mail system
Jun 14 22:35:50 www postfix/master[774]: terminating on signal 15
Jun 14 22:35:50 www authdaemond: stopping authdaemond children
Jun 14 22:52:25 www authdaemond: modules=&authldap&, daemons=5
Jun 14 22:52:25 www authdaemond: Installing libauthldap
Jun 14 22:52:25 www authdaemond: Installation complete: authldap
Jun 14 22:52:27 www postfix/postfix-script[771]: starting the Postfix mail system
Jun 14 22:52:27 www postfix/master[772]: daemon started -- version 2.4.6, configuration /usr/local/etc/postfix
Jun 14 22:52:50 www pop3d: LOGIN FAILED, user=test, ip=[192.168.1.18]
Jun 14 22:52:56 www pop3d: LOGIN FAILED, user=test, ip=[192.168.1.18]
Jun 14 22:53:59 www last message repeated 2 times
Jun 14 22:54:31 www postfix/pickup[776]: BA7181CC27: uid=1000 from=&&
Jun 14 22:54:31 www postfix/cleanup[947]: BA7181CC27: message-id=&&
Jun 14 22:54:31 www postfix/qmgr[777]: BA7181CC27: from=&&, size=1044, nrcpt=1 (queue active)
Jun 14 22:54:32 www postfix/virtual[950]: BA7181CC27: to=&&, relay=virtual, delay=0.86, delays=0.53/0.2/0/0.12, dsn=2.0.0, status=sent (delivered to maildir)
Jun 14 22:54:32 www postfix/qmgr[777]: BA7181CC27: removed
附件: 您需要才可以下载或查看附件。没有帐号?
原帖由 keming 于
22:59 发表
22:52:56 www pop3d: LOGIN FAILED, user=test, ip=[192.168.1.18]
非常简单的问题,检查一下你Outlook的电子邮件账户设置,pop3的用户名没写全吧,要写成整个电子邮件地址的。
不要重复发帖……
你应该先查Outlook的错误号,你会发现当Web Mail正常的时候都是Outlook自身问题引起的……
测试请使用Thunderbird,用foxmail会报和Outlook一样的错……但Thunderbird却没有问题……
Outlook登录的问题。
各位高手,我的Outlook设置是没有问题的,如果是Outlook自身的问题,这样的小问题我还是可以解决的。因为同样的设置,163或者126的邮箱是可以正常使用的。应该是认证问题,我现在就是不知认证在哪里出了了问题。
回复 1# keming 的帖子
好像是main.cf或者master.cf配置错误
blog.dspam.org.cn
liushaobo@extmail.org
探索高性能的Anti-Spam组合
使用 Outlook 收信不行, 发信可以不? 这是两个部分, 由不同软件提供. LZ 你贴出来的是 Postfix 的配置, 看不出问题的.
首先你可以试下 ryuhi 说的方法, 看是否是用户名没写全, 比如使用
账号登陆而不是 test. 如果不行, 那多半是你 POP 服务端的配置没做好, Extmail 是自己支持 Maildir 读写的, 因此跟 POP 端的设置是否正确无关, 因此你在 Web 上收发正常.
所以检查你的 POP 的设置吧.
纸上得来终觉浅,绝知此事要躬行。
原帖由 keming 于
17:21 发表
各位高手,我的Outlook设置是没有问题的,如果是Outlook自身的问题,这样的小问题我还是可以解决的。因为同样的设置,163或者126的邮箱是可以正常使用的。应该是认证问题,我现在就是不知认证在哪里出了了问题。
163或者126的邮箱POP3账户是你整个邮件地址去掉域名的部分,但是Extmail就是一定要写全整个地址,这就是不同。你如果只写了整个邮件地址去掉域名的部分,在163/126当然没有问题,在Extmail当然有问题。
而且你有没有看我上个帖子引用你的日志部分?你登陆的账号并不是一个完整的电子邮件地址。如果正确的话,这个地方应该是一个完整的电子邮件地址。所以我知道你Outlook的POP3账号设置有问题。
[通过 QQ、MSN 分享给朋友]以下试题来自:
单项选择题使用Outlook创建邮件账户时,不能选择的邮件接收服务器类型是______。A.PC) P3B.HTTPC.IMAPD.SMTP
为您推荐的考试题库
你可能感兴趣的试题
1A.为Windows 2003服务器安装WWW服务B.在Windows 2003下配置和测试WWW服务器C.在Windows 2003下配置和测试多个Web站点D.以上全部2A.文件B.目录C.子目录D.以上全部3A.在Windows 2003下安装Winmail邮件服务器软件B.管理配置Winmaii邮件服务器C.测试Winmaii邮件服务器D.以上全部4A.①②③④B.①③②④C.①④②③D.①②④③5A.*B.#C.@D.×
热门相关试卷
最新相关试卷Linux 邮件服务器 之跟我一步一步来实现一个邮件系统
我的图书馆
Linux 邮件服务器 之跟我一步一步来实现一个邮件系统
上一篇介绍了邮件服务器的各组件功能和原理,这次来由浅的入深来一步步实现一个邮件系统。实验环境:操作系统CentOS release 5.11 64位postfix-2.11.6courier-authlib-0.64.0cyrus-sasl-2.1.22-7.el5_8.1cyrus-sasl-plain-2.1.22-7.el5_8.1dovecot.x86_64 0:1.0.7-8.el5_9.1extman-1.1extmail-1.2Unix-Syslog-1.1一、安装postfix,建立基本配置postfix安装过程(略)详细可见上一篇博文1、编辑配置文件"&/etc/postfix/main.cf " 定义如下内容:12345myhostname&=&mail.qupeiyin.netmyorigin&=&$mydomainmydomain&=&qupeiyin.netmydestination&=&$myhostname,&localhost.$mydomain,&localhost,$mydomainmynetworks&=&127.0.0.0/8,mynetworks参数说明:myhostname主机名,与host那么相同。myorigin发件人地址域mydomain &所在域mydestination目标收件地址mynetworks&可以被中继的客户端网段alias_map = hash:/etc/aliases别名查找表2、安装dovecot实现邮件接收yum install dovecot -y编辑配置文件 /etc/dovecot/dovecot.conf&启用协议protocols = imap pop3启动dovecot服务/etc/init.d/dovecot start启动成功后会监听端口:imap4:143/tcp,pop3:110/tcp 以明文方式工作;3、postfix + SASL 用户认证saslauthd -v &显示当前主机saslauthd服务所支持的验证方式修改验证方式vim /etc/sysconfig/saslauthd启动saslauthd服务/etc/init.d/saslauthd start设置开机启动chkconfig saslauthd on测试验证机制是否可用,出现OK表示正常;testsaslauthd -u username-p pass0: OK "Success."邮箱格式:mbox:一个文件存储所有邮件maildir:一个文件存储一封邮件,所有邮件存储在一个目录中;#home_mailbox = Mailbox &定义邮箱格式#home_mailbox = Maildir/#mail_spool_directory = /var/mail & 定义maildir格式邮箱文件的保存路径4、让postfix支持sasl认证功能编辑配置文件 /etc/postfix/main.cf 添加如下内容:1234567broken_sasl_auth_clients&=&yessmtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unauth_destinationsmtpd_sasl_auth_enable&=&yessmtpd_sasl_local_domain&=&$myhostnamesmtpd_sasl_security_options&=&noanonymoussmtpd_sasl_path&=&smtpdsmtpd_banner&=&Welcome&to&our&Server&!参数说明:broken_sasl_auth_clients&是否要通过SASL验证客户端身份smtpd_recipient_restrictions&定义收件人限制smtpd_sasl_auth_enable&= yes启用SASL认证功能smtpd_sasl_local_domain = $myhostname&基于SASL认证的时候指定本地的域smtpd_sasl_security_optionsSASL认证的安全选项,noanonymous表示不支持匿名用户smtpd_sasl_path = smtpd指定使用SASL的服务器程序smtpd_banner&定义登陆时候的欢迎信息参数说明(二):permit_mynetworks允许本地网络permit_sasl_authenticated允许SASL验证通过的用户reject_invalid_hostname拒绝不合法的主机名的主机来收发邮件reject_non_fqdn_hostname拒绝不是fqdn格式主机名的主机reject_unknown_sender_domain拒绝无法识别的发件人域reject_non_fqdn_sender拒绝没有fqdn的发件人reject_non_fqdn_recipient拒绝没有fqdn的收件人reject_unknown_recipient_domain拒绝无法识别的收件人域reject_unauth_pipelining无法验证的管道reject_unauth_destination拒绝无法验证的目标地址编辑配置文件/usr/lib64/sasl2/smtpd.conf 添加如下内容:pwcheck_method:saslauthdmech_list:PLAIN LOGINlog_level:3当需要调试的时候,打开log_level可以输出更为详细的信息。5、实现postfix基于客户端的访问控制在配置文件"/etc/postfix/main.cf"使用如下参数控制:12345smtpd_client_restrictions=&smtpd_data_restrictions=&smtpd_helo_restrictions=&&smtpd_recipient_restrictions&=&permit_mynetworks,reject_unauth_destinationsmtpd_sender_restrictions=参数说明:smtpd_client_restrictions用于限定符合条件的才允许连接服务器smtpd_data_restrictions用于限定符合条件的用户才允许发送data指令smtpd_helo_restrictions用于限定符合条件的用户才允许发送helo指令smtpd_recipient_restrictions用于限定符合条件的用户才允许发送rcpt to指令smtpd_sender_restrictions用于限定符合条件的用户才允许发送mail from指令内置限制条件:(更多参考postfix手册)reject_unauth_destination-拒绝未经认证的目标permit_mynetworks-该网段的主机可以被中继编辑配置文件 /usr/lib64/sasl2/smtpd.conf 添加以下内容:pwcheck_method:saslauthdmech_list:PLAIN LOGIN访问控制文件& & /etc/postfix/access& & &reject& & microsoft.com ok规则编写格式:pattern &action邮件地址的pattern格式如下:user@domain用于匹配指定邮件地址domain.tld用于匹配以此域名作为邮件地址中的域名部分的所有邮件地址user@用于匹配以此作为邮件地址中用户名部分的所有邮件地址主机名称/地址 pattern格式如下:ip & &用于匹配特定的IP地址或网络内的所有主机network /mask &CIDR格式,匹配指定网络内的所有主机关于actionok 接受其pattern匹配的邮件地址或主机名称/地址拒绝部分:4NN text5NN text& & 其中4NN类表示过一会重试,5NN类表示严重错误。REJECT optional text &拒绝;text为可选信息DEFER &optional text &拒绝;text为可选信息自定义访问表的条件通常使用check_client_access,check_helo_access,check_sender_access,check_recipient_access 进行,他们后面通常跟上type:mapname格式的访问类型和名称。其中,check_sender_access,check_recipient_access&用来检查客户端提供的邮件地址,其访问表中可以使用完整的邮件地址,如;也可以只使用域名,如果tuchao.com,还可以只有用户名的部分,如hadoop@。实例演示(一):拒绝ip:115.204.89.87 &windows 客户端发送邮件1、编辑 /etc/postfix/access 作为客户端检查控制文件,添加如下一行:115.204.89.87 REJECT2、将此文件转换为hash格式postmap &/etc/postfix/access3、配置postfix使用此文件对客户端进行检查编辑配置文件 vim /etc/postfix/main.cf 加入一行:smtpd_client_restrictions = check_client_access hash:/etc/postfix/access注:这里的hash类型就代表了.db的文件,所以这里不要写后缀。4、让postfix重新载入配置文件/etc/init.d/postfix reload现在使用windows上的客户端发邮件,就会看到被拒绝了;实例演示(二):拒绝所在域为 huairen.com 的发件人发送邮件。1、编辑 /etc/postfix/access 作为客户端检查控制文件,添加如下一行:huairen.com REJECT2、将此文件转换为hash格式postmap &/etc/postfix/access3、配置postfix使用此文件对客户端进行检查编辑配置文件 vim /etc/postfix/main.cf 加入一行:smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/access4、让postfix重新载入配置文件/etc/init.d/postfix reload修改客户端的发件人地址,我这里使用的Outlook。 文件—账户设置—找到自己的邮箱地址—更改;然后尝试发一封邮件出去可以明显看到拒绝信息,Sender address rejected:Access denied实例演示(三):拒绝所有邮件头部用户名为tuchao的地址发邮件1、添加一个访问控制文件 /etc/postfix/mailhostdeny 作为客户端检查控制文件,添加如下一行:tuchao@ REJECT2、将此文件转换为hash格式postmap &/etc/postfix/mailhostdeny&3、配置postfix使用此文件对客户端进行检查编辑配置文件 vim /etc/postfix/main.cf 加入一行:smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/mailhostdeny,permit_mynetworks,reject_unauth_destination注:在smtpd_recipient_restrictions配置中,必须要有两个内置参数permit_mynetworks,reject_unauth_destination,如果需要加入其他参数,这两个内置参数放到最后。4、让postfix重新载入配置文件/etc/init.d/postfix reload尝试给发送邮件可以看到收件人不符合要求被拒绝了邮件别名的使用编辑别名配置文件 /etc/aliases 加入如下两行:a: & &python&tuchao:&&newaliases &执行此命令用于生成别名文件的hash格式,便于查找,每次修改过aliases文件都要执行。说明:a:表示把所有发给本地a用户的邮件,全部转发给本地的python用户,这里a用户不存在也没关系服务器能识别到别名就可以了。 &把所有发给本地tuchao用户的邮件。全部转发至。给a用户发送邮件测试给tuchao用户发邮件过程中遇到的错误记录错误一、-ERR Plaintext authentication&disallowed&on non-secure (SSL/TLS) connections.RHEL5的dovecot都是不需要做任何修改,默认就可以使用的。RHEL6对dovecot做了比较严格的默认配置,如果使用默认配置,客户端出现错:-ERR Plaintext authentication&disallowed&on non-secure (SSL/TLS) connections.需要修改dovecot主配置文件/etc/dovecot/dovecot.conf:protocols = imap pop3 lmtplogin_trusted_networks = 0.0.0.0/0设置/etc/dovecot/conf.d/10-mail.conf配置文件如下:mail_location = mbox:~/mail:INBOX=/var/mail/%u设置完mail_location值后,需要重启dovecot服务,同时需要创建相关的目录,否则还会出现如下错误:freebsd# telnet 192.168.50.24 110Trying 192.168.50.24...Connected to 192.168.50.24.Escape character is '^]'.+OK Dovecot ready. &d106bc3.JFuUEG+bO68ixpY2W1zihg==@rhel6.766.com&user oracle+OKpass oracle-ERR [IN-USE] Couldn't open INBOX: Internal error occurred. Refer to server log for more information. [ 16:56:40]Connection closed by foreign host.[root@rhel6 ~]# tail -f /var/log/maillogDec 21 16:56:40 rhel6 dovecot: pop3-login: Login: user=&oracle&, method=PLAIN, rip=192.168.50.211, lip=192.168.50.24, mpid=10115, securedDec 21 16:56:41 rhel6 dovecot: pop3(oracle): Error: chown(/u01/oracle/mail/.imap/INBOX, -1, 12(mail)) failed: Operation not permitted (egid=501(dba), group based on/var/mail/oracle)Dec 21 16:56:41 rhel6 dovecot: pop3(oracle): Error: mkdir(/u01/oracle/mail/.imap/INBOX) failed: Operation not permittedDec 21 16:56:41 rhel6 dovecot: pop3(oracle): Error: Couldn't open INBOX: Internal error occurred. Refer to server log for more information. [ 16:56:40]Dec 21 16:56:41 rhel6 dovecot: pop3(oracle): Couldn't open INBOX top=0/0, retr=0/0, del=0/0, size=0在该用户家目录下创建相应的目录:su - tuchaomkdir -p mail/.imap/INBOX错误二、Temporary&lookup&failure通过查看日志发现是没有aliase文件导致的,所以果断的添加的这么个文件,然后postmap一下就可以了。postmap /etc/aliases二、构建基于虚拟用户的虚拟域邮件系统架构1、编译安装courier-authlib官网:安装依赖的程序包,如果使用MySQL认证的话,需要安装MySQL。yum install libtool openssl-devel tcl tcl-devel libart-lgpl libart-lgpl-devel expect libtool-ltdl libtool-ltdl-devel -y编译参数&./configure&\--prefix=/usr/local/courier-authlib&\--sysconfdir=/etc&\--without-authpam&\--without-authvchkpw&\--without-authpgsql&\--with-authmysql&\--with-mysql-libs=/alidata/server/mysql/lib/&\--with-mysql-includes=/alidata/server/mysql/include/&\--with-redhat&\--with-authmysqlrc=/etc/authmysqlrc&\--with-authdaemonrc=/etc/authdaemonrc&\--with-mailuser=postfix&\--with-mailgroup=postfix&\--with-ltdl-lib=/usr/lib&\--with-ltdl-include=/usr/include/&\LDFLAGS="-L/usr/lib64 -L/lib64"--sysconfdir 配置文件的安装目录--without-authpam 不支持pam认证--with-redhat 实现基于redhat系统的优化,如果不是redhat系统不用加此参数;--with-authmysqlrc 存放courier-authlib给mysql的配置文件路径--with-authdaemonrc 存放该服务的配置文件路径make && make install&可以使用 --with-authdaemonvar=/var/spool/authdaemon 选项来指定进程套接字目录路径编译过程中遇到的错误:1、在./configure的时候出现错误 configure: error: invalid ltdl library directory: `/usr/lib64/'笔者在centos6.5 64位的系统上试了多次,也确保安装了libtool-ltdl libtool-ltdl-devel,依旧不行。思路:当什么依赖的库和程序都安装了后,还是提示找不到,这时候就要考虑依赖的库与程序的版本不对应。怀疑是courier-authlib 版本太新和系统库不匹配,于是将courier-authlib0.66.3 降低版本到 0.66.1 , 0.65.0,0.64.0这时候应该不是软件版本问题,怀疑系统版本的库与该程序不兼容。尝试将centos6替换为centos5.11 X86_64 ,编译courier-authlib0.64.0&没有再出现此错误。2、编译出现错误 configure:error The Courier Unicode Library 1.2 appears not to be installed&提示Courier Unicode Library 没有安装,需要下载courier-unicode-1.2.tar.bz2 安装即可。./configuremake && make install3、./configure 出现错误&configure: error: –with-authmysql specified but no mysqlclient.so是因为本机上有两个MySQL,卸载原来的MySQL就可以了。4、编译出现错误 libltdl.so: could not read symbols: File in wrong format是由于64位机器的原因,解决办法在configure的选项中加上 &LDFLAGS="-L/usr/lib64 -L/lib64"参考文档:配置courier-authlib建立配置文件,和configure &参数定义的名称一致--with-authmysqlrc=/etc/authmysqlrc&--with-authdaemonrc=/etc/authdaemonrc&cp /etc/authdaemonrc.dist &/etc/authdaemonrccp /etc/authmysqlrc.dist /etc/authmysqlrc编辑配置文件"/etc/authdaemonrc" &修改以下参数:authmodulelist="authmysql"authmodulelistorig="auauthmysql"daemons=10authdaemonvar=/usr/local/courier-authlib/var/spool/authdaemonDEBUG_LOGIN=0参数说明:authmodulelist &指定支持认证的模块列表authmodulelistorig &指定源模块列表daemons 开启的进程数,根据负载合理设置。authdaemonvar&指定进程套接字目录路径DEBUG_LOGIN 是否启动DEBUG模式记录日志,0表示不启用,2表示启用。编辑配置文件 /etc/authmysqlrc&12345678910111213MYSQL_SERVER&&&&&&&&&&&localhostMYSQL_USERNAME&&&&&&&&&rootMYSQL_PASSWORD&&&&&&&&&redhatMYSQL_SOCKET&&&&&&&&&&/tmp/mysql.sock&&连接MySQL的套接字文件MYSQL_DATABASE&&&&&&&&&extmail&&指定数据库名MYSQL_USER_TABLE&&&&&&&mailbox&&指定用户表MYSQL_CRYPT_PWFIELD&&&&password&&指定保存密码的表字段名MYSQL_UID_FIELD&&&&&&&&2525&&指定postfix的UidMYSQL_GID_FIELD&&&&&&&&2525&&指定postfix的GidMYSQL_LOGIN_FIELD&&&&&&username&&指定保存用户名的表字段名MYSQL_HOME_FIELD&&&&&&&concat('/var/mailbox',homedir)&&指定用户的邮筒位置MYSQL_NAME_FIELD&&&&&&&name&&指定用户的全名保存在哪个字段上MYSQL_MAILDIR_FIELD&&&&concat('/var/mailbox/',maildir)&&创建和用户同名的邮件目录提供服务启动脚本cp courier-authlib-0.64.0/courier-authlib.sysvinit /etc/init.d/courier-authlibchmod +x /etc/init.d/courier-authlibchkconfig --add courier-authlibchkconfig courier-authlib on启动服务service courier-authlib start2、配置postfix支持虚拟域和虚拟用户1、编辑配置文件 /etc/postfix/main.cf 添加以下内容:123456789virtual_mailbox_base&=&/var/mailboxvirtual_mailbox_maps&=&mysql:/etc/postfix/mysql_virtual_mailbox_maps.cfvirtual_mailbox_domains&=&mysql:/etc/postfix/mysql_virtual_domains_maps.cfvirtual_alias_domains&=&virtual_uid_maps&=&static:2525virtual_gid_maps&=&static:2525virtual_transport&=&virtualmydestination&=local_recipient_maps&=virtual_transport &指定用户的投递代理maiildrop_destination_recipient_limit &= 1 &定义限制,一次只投递一封邮件到一个用户邮箱。maildrop_destination_concurrency_limit &=1 一次并发只投递一封邮件配额限制message_size_limit = virtual_mailbox_limit = message_size_limit &定义单个邮件的最大大小virtual_mailbox_limit &每个用户的邮箱最大可用空间配置postfix和courier-authlib新建虚拟用户邮箱所在的目录,并将权限赋予postfix用户。mkdir &/var/mailboxchown -R postfix&/var/mailbox修改配置文件 /usr/lib/sasl2/smtpd.conf &没有则建立,加入以下内容:pwcheck_method:authdaemondlog_level:3mech_list:PLAIN LOGINauthdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socketauthdaemond_path 此参数指定的路径,是和/etc/authdaemonrc文件中authdaemonvar参数定义的路径相对应。下载extman源码,使用其doc目录下的extmail.sql和init.sql建立数据库:tar xf extman-1.1.tar.gzcd extman-1.1/docsmysql &extmail.sqlmysql &init.sql复制需要的配置文件cp mysql* /etc/postfix/并且将复制过去的5个配置文件,根据实际mysql的帐号配置做相应的修改。对于MySQL5.1以后的版本,需要将脚本extmail.sql使用如下命令进行语法修改:sed -i 's/TYPE=MyISAM/ENGINE=InnoDB/g' extmail.sql&如果还出现错误 BLOB/TEXT column 'question' can't have a default value 则进入脚本修改SQL语句,将text字段的default参数删除即可。授权用户extmail访问extmail数据库的权限GRANT ALL PRIVILEGES ON extmail.* TO 'extmail'@'localhost' IDENTIFIED BY 'extmail123';GRANT ALL PRIVILEGES ON extmail.* TO 'extmail'@'127.0.0.1' IDENTIFIED BY 'extmail123';启用虚拟域以后,需要取消中心域,即注释掉配置文件“/etc/postfix/main.cf”的几个参数:myhostname,myorigin,mydomain,mydestination; 也可以把mydestination 改成自己需要的;重启postfixservice postfix restart这是会发现无法给之前配置的域收发邮件了,因为之前的参数我们已经注释了。 这时域的配置保存在exmail库中的domain表中。配置dovecotvim /etc/dovecot.conf123456789auth&default&{&&&&mechanisms&=&plain&&&&passdb&sql&{&&&&&&&&args&=&/etc/dovecot-mysql.conf}userdb&sql&{&&&&args&=&/etc/dovecot-mysql.conf}}参数说明:mail_location = maildir:/var/mailbox/%d/%n/Maildir这两个为dovecot支持的两个弘:%d &表示域名%n &表示用户名建立配置文件:vim /etc/dovecot-mysql.conf&123456mail_location&=&maildir:/var/mailbox/%d/%n/Maildirdriver&=&mysqlconnect&=&host=localhost&dbname=extmail&user=extmail&password=extmail123default_pass_scheme&=&CRYPTpassword_query&=&SELECT&username&AS&user,password&AS&password&FROM&mailbox&WHERE&username&=&'%u'user_query&=&SELECT&maildir,uidnumber&AS&uid,gidnumber&AS&gid&FROM&mailbox&WHERE&username&=&'%u'注:如果mysql服务器是本地主机,如果mysql.sock文件路径不是默认的/var/lib/mysql/mysql.sock,可以使用host="socket" 来指定新位置:connect = host=/tmp/mysql.sock dbname=extmail user=extmail password=extmail123&重启dovecot服务service dovecot restart安装Extmail-1.2tar zxvf extmail-1.2.tar.gz&cd extmail-1.2mkdir&-pv&/var/www/extsuitemv&extmail-1.2&/var/www/extsuite/extmailcp&/var/www/extsuite/extmail/webmail.cf.default& /var/www/extsuite/extmail/webmail.cf修改主配置文件&/var/www/extsuit/extmail/webmail.cf1234567891011121314151617181920SYS_CONFIG&=&/var/www/extsuite/extmail/SYS_LANGDIR&=&/var/www/extsuite/extmail/langSYS_TEMPLDIR&=&/var/www/extsuite/extmail/htmlSYS_HTTP_CACHE&=&0SYS_SMTP_HOST&=&127.0.0.1SYS_SMTP_PORT&=&25SYS_SMTP_TIMEOUT&=&5SYS_SPAM_REPORT_ON&=&0SYS_USER_LANG&=&zh_CNSYS_MAILDIR_BASE&=&/var/mailboxSYS_MYSQL_USER&=&extmailSYS_MYSQL_PASS&=&extmail123SYS_MYSQL_DB&=&extmailSYS_MYSQL_HOST&=&localhostSYS_MYSQL_SOCKET&=&/tmp/mysql.sockSYS_MYSQL_TABLE&=&mailboxSYS_MYSQL_ATTR_USERNAME&=&usernameSYS_MYSQL_ATTR_DOMAIN&=&domainSYS_MYSQL_ATTR_PASSWD&=&passwordSYS_AUTHLIB_SOCKET&=&/usr/local/courier-authlib/var/spool/authdaemon/socketSYS_CONFIG 指定程序目录SYS_LANGDIR 指定语言字符集的目录SYS_TEMPLDIR 指定临时文件的目录SYS_HTTP_CACHE&http是否要缓存SYS_SMTP_HOST&指定smtp服务器SYS_SMTP_PORT smtp服务端口号SYS_SMTP_TIMEOUT 指定超时时间SYS_SPAM_REPORT_ON 发现垃圾邮件是否报告SYS_USER_LANG&指定语言支持SYS_MAILDIR_BASE 指定用户的邮筒文件夹SYS_MYSQL_TABLE 指定在mysql中对应的表SYS_MYSQL_ATTR_USERNAME 用户名对应的字段属性SYS_MYSQL_ATTR_DOMAIN 域对应的字段属性SYS_MYSQL_ATTR_PASSWD 用户密码对应的字段属性SYS_AUTHLIB_SOCKET&指定courier-authlib socket文件位置配置httpd由于extmail要进行本地邮件的投递操作,故必须将运行httpd服务器用户的身份修改为你的邮件投递代理的用户,如果打开apache的suexec功能,可以实现虚拟主机运行身份的指定。 此例中的MDA为postfix自带,所以指定为postfix用户。1234567&VirtualHost&*:8081&&&&&ServerName&mail.qupeiyin.net&&&&DocumentRoot&/var/www/extsuite/extmail/html/&&&&ScriptAlias&/extmail/cgi&/var/www/extsuite/extmail/cgi&&&&Alias&/extmail&/var/www/extsuite/extmail/html/&&&&CustomLog&logs/mail.qupeiyin.net.log&common&/VirtualHost&如果不打开apache的suexec功能,也可以让整个apache用postfix用户跑User postfixGroup postfix修改cgi执行文件属主为apache服务运行的身份用户chown&-R&postfix.postfix&/var/www/extsuite/extmail/cgi/安装Unix-Syslog解决依赖关系可以去搜索下载源码包tar xf Unix-Syslog-1.1.tar.gzcd Unix-Syslog-1.1perl Makefile.PLmake && make install配置extmantar xf extman-1.1.tar.gzmv&extman-1.1&/var/www/extsuite/extmancp&/var/www/extsuite/extman/webman.cf.default&/var/www/extsuite/extman/webman.cf编辑配置文件&/var/www/extsuite/extman/webman.cfSYS_MAILDIR_BASE = /var/mailboxSYS_SESS_DIR = /tmp/extman/SYS_CAPTCHA_ON&= 0SYS_DEFAULT_UID = 2525SYS_DEFAULT_GID = 2525SYS_MYSQL_USER = rootSYS_MYSQL_PASS = redhatSYS_MYSQL_DB = extmailSYS_MYSQL_HOST = localhostSYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock创建用于保存session的目录mkdir /tmp/extmanchown postfix /tmp/extman/修改cgi目录属主chown&-R&postfix.postfix&/var/www/extsuite/extman/cgi/在httpd主配置文件中Extmail的虚拟主机部分,添加如下两行:& & ScriptAlias&/extman/cgi&/var/www/extsuite/extman/cgi&&&&Alias&/extman&/var/www/extsuite/extman/html重启httpd服务器service httpd restart功能测试:现在来访问我们的extmail选择登陆邮箱管理,空密码帐号,直接点登陆跳到下一个界面:初始密码为:extmail*123*登陆之后可进入邮箱控制台现在登陆一个用户来发送邮件点击发送后,QQ邮箱立马就收到了。一套邮件系统就基本实现了,这里还没加上反垃圾邮件功能和SSL加密功能。这些功能可参考:extmail官网:本文出自 “” 博客,请务必保留此出处&&&
[转]&[转]&[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢

我要回帖

更多关于 linux 邮件服务器 的文章

 

随机推荐