邮件服务器之Postfix--Webmail的创建
这篇我们接着上一篇文章来写:(基于Red Hat Enterprise Linux Server release 5.8)
邮件服务器的整体配置:postfix+dovecot+extmail+mysql,基于DNS,支持虚拟用户认证,支持调用mysql数据库等。
安装前说明:邮件服务器依赖于DNS服务器,要先确认下你的服务器已经为邮件应用配置完成了哦。
关于DNS的配置:(这里不再解释了哦,前面有DNS的介绍,可以参考下)
- vim /etc/named.conf
- options {
- directory "/var/named";
- forward only;
- forwarders { 172.16.9.3; };
- };
- zone "." IN {
- type hint;
- file "named.ca";
- };
- zone "test.com" IN {
- type master;
- file "test.com.zone";
- };
- zone "9.16.172.in-addr.arpa" IN {
- type master;
- file "172.16.9.zone";
- };
cd /var/named
创建正向区域文件:
- vim test.com.zone
- $TTL 86400
- $ORIGIN test.com.
- @ IN SOA ns.test.com. admin.test.com. (
- 20121105
- 2H
- 10M
- 7D
- 1D )
- IN NS ns
- IN MX 10 mail
- ns IN A 172.16.9.2
- mail IN A 172.16.9.2
- www IN CNAME mail
创建反向区域文件:
- vim 172.16.9.zone
- $TTL 86400
- @ IN SOA ns.test.com. admin.test.com. (
- 20121105
- 2H
- 10M
- 7D
- 1D )
- IN NS ns.test.com.
- 2 IN PTR ns.test.com.
- 2 IN PTR mail.test.com.
一定要保证MX记录可以解析出来^_^
注:如果出现以下问题
- [[email protected] named]# dig -t MX test.com
- ; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t MX test.com
- ;; global options: +cmd
- ;; connection timed out; no servers could be reached
修改配置文件:
vim /etc/resove.conf
nameserver 172.16.9.2 #ip指向自己的主机
接下来要安装邮件服务器postfix
一、安装前需要做的配置:
1、安装开发所需要的环境包组:
yum groupinstall -y "Development Libraries" "Development Tools" "Legacy Software Development" "X Software Development"
2、安装所需要的rpm包:
yum install -y tcl-devel libart_lgpl-devel libtool-ltdl-develexpect
注:mysql要编译安装,这里不再给出过程
3、关闭linux自带的sendmail,并关闭随系统自动开启的功能:
service sendmail stop
chkconfig sendmail off
4、启动依赖的服务
数据库:
service mysqld start
chkconfig mysqld on
mysqladmin -uroot password 'redhat' #为root用户设置密码
启动saslauthd服务,并将其加入自动启动队列
service saslauthd start
chkconfig saslauthd on
二、完成安装前的所有配置,就可以编译安装postfix了
说明:因为RHEL5中的postfix rpm包不支持基于mysql的认证功能,所以才在这里编译安装postfix,我们还可以根据postfix的默认配置进行新建用户等,免去了很多麻烦。
1、新建postfix、postdrop用户、组,并分别指定UID、GID
- groupadd -g 2525 postfix
- useradd -g postfix -u 2525 -s /sbin/nologin -M postfix
- groupadd -g 2526 postdrop
- useradd -g postdrop -u 2526 -s /sbin/nologin -M postdrop
2、下载安装postfix,路径在ftp://172.16.0.1/pub/Sources/postfix 下
- tar xf postfix-2.9.4.tar.gz
- cd postfix-2.9.4
- make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DUSE_TLS ' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2 -lssl -lcrypto'
选项解析:前半段指定关联的rpm包所在头文件的路径,后半段指定库文件的路径以及所支持的加密认证机制等
- make
- make install
按照以下的提示输入相关的路径,可以在后面做出相应修改,不作修改就是默认[]中的路径
- install_root: [/]
- tempdir: [/root/postfix-2.9.4] /tmp/postfix
- config_directory: [/etc/postfix]
- command_directory: [/usr/sbin]
- daemon_directory: [/usr/libexec/postfix]
- data_directory: [/var/lib/postfix]
- html_directory: [no]
- mail_owner: [postfix]
- mailq_path: [/usr/bin/mailq]
- manpage_directory: [/usr/local/man]
- newaliases_path: [/usr/bin/newaliases]
- queue_directory: [/var/spool/postfix]
- readme_directory: [no]
- sendmail_path: [/usr/sbin/sendmail]
- setgid_group: [postdrop]
根据警告信息的提示,可以生成二进制文件
newaliases
或者postaliases /etc/aliases
3、一些基本配置:
测试启动postfix并进行发信
vim /etc/postfix/main.cf
修改以下几项配置:
myhostname = mail.test.com #指定运行postfix的主机名,默认是本地机器名
myorigin = test.com #指定发件人所在的域名
mydomain = test.com #指定你自己的域名
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain #指定postfix系统收件人的域名,即要接收哪些域内的邮件
mynetworks = 172.16.0.0/16, 127.0.0.0/8 #指定你所在网络的网络地址,postfix系统根据其值来区别用户是远程的还是本地的,如果是本地网络用户则允许其访问;
注:
1)、在postfix的配置文件中,参数行和注释行是不能处在同一行中的;
2)、任何一个参数的值都不需要加引号,否则,引号将会被当作参数值的一部分来使用;
3)、每修改参数及其值后执行 postfix reload 即可令其生效;但若修改了inet_interfaces,则需重新启动postfix;
4)、如果一个参数的值有多个,可以将它们放在不同的行中,只需要在其后的每个行前多置一个空格即可;postfix会把第一个字符为空格或tab的文本行视为上一行的延续
可以启动服务了:
postfix start即可
还可以为postfix提供服务脚本:(做参考)
- vim /etc/rc.d/init.d/postfix
- #!/bin/bash
- #
- # postfix Postfix Mail Transfer Agent
- #
- # chkconfig: 2345 80 30
- # description: Postfix is a Mail Transport Agent, which is the program \
- # that moves mail from one machine to another.
- # processname: master
- # pidfile: /var/spool/postfix/pid/master.pid
- # config: /etc/postfix/main.cf
- # config: /etc/postfix/master.cf
- # Source function library.
- . /etc/rc.d/init.d/functions
- # Source networking configuration.
- . /etc/sysconfig/network
- # Check that networking is up.
- [ $NETWORKING = "no" ] && exit 3
- [ -x /usr/sbin/postfix ] || exit 4
- [ -d /etc/postfix ] || exit 5
- [ -d /var/spool/postfix ] || exit 6
- RETVAL=0
- prog="postfix"
- start() {
- # Start daemons.
- echo -n $"Starting postfix: "
- /usr/bin/newaliases >/dev/null 2>&1
- /usr/sbin/postfix start 2>/dev/null 1>&2 && success || failure $"$prog start"
- RETVAL=$?
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/postfix
- echo
- return $RETVAL
- }
- stop() {
- # Stop daemons.
- echo -n $"Shutting down postfix: "
- /usr/sbin/postfix stop 2>/dev/null 1>&2 && success || failure $"$prog stop"
- RETVAL=$?
- [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/postfix
- echo
- return $RETVAL
- }
- reload() {
- echo -n $"Reloading postfix: "
- /usr/sbin/postfix reload 2>/dev/null 1>&2 && success || failure $"$prog reload"
- RETVAL=$?
- echo
- return $RETVAL
- }
- abort() {
- /usr/sbin/postfix abort 2>/dev/null 1>&2 && success || failure $"$prog abort"
- return $?
- }
- flush() {
- /usr/sbin/postfix flush 2>/dev/null 1>&2 && success || failure $"$prog flush"
- return $?
- }
- check() {
- /usr/sbin/postfix check 2>/dev/null 1>&2 && success || failure $"$prog check"
- return $?
- }
- restart() {
- stop
- start
- }
- # See how we were called.
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- stop
- start
- ;;
- reload)
- reload
- ;;
- abort)
- abort
- ;;
- flush)
- flush
- ;;
- check)
- check
- ;;
- status)
- status master
- ;;
- condrestart)
- [ -f /var/lock/subsys/postfix ] && restart || :
- ;;
- *)
- echo $"Usage: $0 {start|stop|restart|reload|abort|flush|check|status|condrestart}"
- exit 1
- esac
- exit $?
- # END
为该脚本赋予执行权限:
- chmod +x /etc/rc.d/init.d/postfix
将postfix服务添加至服务列表,并设置开机自动启动:
chkconfig --add postfix
chkconfig postfix on
重启服务:
service postfix restart
接下来就可以发邮件了
例如:发给自己主机上的hadoop用户
切换到hadoop用户,就会有一封来自root的邮件了
我们还可以实现跨域收发邮件,再开启一台主机,地址为172.16.9.3,主机名mail.a.org这个域内按照以上步骤配置DNS,安装上postfix修改配置文件中相应的配置,并启动postfix(这里步骤不再给出)
两个域间进行通信:
test.com的hadoop用户给a.org的eucalyptus用户通信
三、邮件配置的实现
1、邮件别名的实现:
vim /etc/aliases
在最后加入两行
- user1: hadoop
- user2: [email protected]
说明:将发到user1的邮件转发给hadoop
将发给user2的邮件转发给a.org域内的eucalyptus
- newaliases
在test.com 中给user2发邮件
查看日志:发给user2的邮件会自动转发给eucalyptus
在a.org域中切换用户,就可以看到root用户发来的邮件了。
2、实现基于客户端的访问控制
例如:在a.org 域内阻止obama用户发邮件
(1)首先建立/etc/postfix/denyuser文件在里面定义一行:
- [email protected] REJECT
(2)将此文件转换为hash格式
- postmap /etc/postfix/denyuser
(3)配置postfix使用此文件对客户端进行检查
编辑/etc/postfix/main.cf文件,添加如下2行:
- smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/denyuser
- smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
(4)重新启动postfix,以obama用户的身份进行发邮件就会被拒绝了。(这里效果不再演示)
扩展:
我们还可以基于windows来收发邮件:
打开windows配置Outlook Express
以上几步根据提示操作就可以了。
点击发送,在a.org主机上就可以收到来自hadoop的邮件了。
注:在安装dovecot之前,在Outlook Express 上是不能收邮件的。
下面来安装下dovecot,让OE可以接收邮件。
yum -y install dovecot
编辑主配置文件/etc/dovecot.conf
启动pop3和imap协议
- protocols = imap pop3
启动dovecot服务
- service dovecot start
给用户hadoop发送邮件,OE就可以接收邮件了
四、为postfix开启基于cyrus-sasl的认证功能
首先确保你的cyrus有关的rpm包已经安装
vim /etc/sysconfig/saslauthd
- 修改MECH=pam为 MECH=shadow
启动服务:
- service saslauthd start
测试验证:(这一步要确保你的selinux处于关闭状态)
- [[email protected] ~]# testsaslauthd -u hadoop -p redhat
- 0: OK "Success."
配置postfix使用认证:
- vim /usr/lib/sasl2/smtpd.conf
- pwcheck_method: saslauthd
- mech_list: PLAIN LOGIN
vim /etc/postfix/main.cf
在最后添加以下内容
- ############################CYRUS-SASL############################
- broken_sasl_auth_clients = yes
- smtpd_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_destination
- smtpd_sasl_auth_enable = yes
- smtpd_sasl_local_domain = $myhostname
- smtpd_sasl_security_options = noanonymous
说明:
broken_sasl_auth_clients = yes: #开启基于基于sasl认证客户端
smtpd_recipient_restrictions: #根据收件人地址进行过滤控制
permit_mynetworks: #如果主机是mynetworks中定义的则允许
permit_sasl_authenticated: #允许通过sasl认证的主机
reject_invalid_hostname: #如果SMTP helo/ehlo命令中的主机名语法无效则拒绝
reject_non_fqdn_hostname: #如果主机地址不是正规的FQDN格式则拒绝
reject_unknown_sender_domain: #如果DNS无法解析发件人则拒绝
reject_unknown_recipient_domain: #如果DNS无法解析收件人则拒绝
reject_non_fqdn_sender: #如果发件人的地址不是正规的FQDN格式则拒绝
reject_non_fqdn_recipient: #如果收件人的收件地址不是正规的FQDN格式则拒绝
reject_unauth_pipelining: #拒绝验证未通过的
reject_unauth_destination: #如果目标地址在relay_domains或my_destinations中则拒绝
smtpd_sasl_auth_enable = yes: #开启smtp基于sasl认证
smtpd_sasl_local_domain = $myhostname: #sasl认证时$myhostname为本地域
smtpd_sasl_security_options = noanonymous: #sasl认证不允许匿名用户
重启postfix
验证postfix是否支持认证功能
五、安装courier-authlib,下载地址在ftp://172.16.0.1/pub/Sources/postfix/
1、先卸载mysql客户端
- cp /etc/my.cnf /root #保存主配置文件
- rpm -e mysql --nodeps
- cp /root/my.cnf /etc/my.cnf
说明:我们刚刚安装了dovecot,编译安装courier-authlib时,mysql客户端会受到影响,需要先卸载(不想做这一步,dovecot编译安装应该也是可以的)
- tar jxvf courier-authlib-0.64.0.tar.bz2
- cd courier-authlib-0.64.0
- ./configure \
- --prefix=/usr/local/courier-authlib \
- --sysconfdir=/etc \
- --without-authpam \
- --without-authshadow \
- --without-authvchkpw \
- --without-authpgsql \
- --with-authmysql \
- --with-mysql-libs=/usr/lib/mysql \
- --with-mysql-includes=/usr/include/mysql \
- --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
选项说明:
这是根据个人环境修改的头文件和库文件的路径
- make && make install
2、安装后的配置:
(1)再安装mysql
yum -y install mysql
- cp /etc/authdaemonrc.dist /etc/authdaemonrc
- cp /etc/authmysqlrc.dist /etc/authmysqlrc
(2)修改/etc/authdaemonrc 文件
- authmodulelist="authmysql"
- authmodulelistorig="authmysql"
- daemons=10
(3)修改/etc/authmysqlrc 为以下内容,其中2525,2525 为postfix 用户的UID和GID。
- MYSQL_SERVER localhost
- MYSQL_USERNAME extmail #这是为后文要用的数据库的所有者的用户名
- MYSQL_PASSWORD extmail #密码
- MYSQL_SOCKET /tmp/mysql.sock
- MYSQL_PORT 3306 #指定你的mysql监听的端口,这里使用默认的3306
- MYSQL_DATABASE extmail
- MYSQL_USER_TABLE mailbox
- MYSQL_CRYPT_PWFIELD password
- MYSQL_UID_FIELD 2525
- MYSQL_GID_FIELD 2525
- MYSQL_LOGIN_FIELD username
- MYSQL_HOME_FIELD concat('/var/mailbox/',homedir)
- MYSQL_NAME_FIELD name
- MYSQL_MAILDIR_FIELD concat('/var/mailbox/',maildir)
提供SysV服务脚本
- cp courier-authlib.sysvinit /etc/rc.d/init.d/courier-authlib
- chkconfig --add courier-authlib
- chkconfig courier-authlib on
- vim /etc/ld.so.conf.d/courier-authlib.conf
- /usr/local/courier-authlib/lib/courier-authlib
- ldconfig -v
- service courier-authlib start #启动服务
整合postfix和courier-authlib
新建虚拟用户邮箱所在的目录,并将其权限赋予postfix用户:
- mkdir –pv /var/mailbox
- chown –R postfix /var/mailbox
接下来重新配置SMTP 认证
编辑 /usr/lib/sasl2/smtpd.conf
- pwcheck_method: authdaemond
- mech_list:PLAIN LOGIN
- authdaemond_path:/usr/local/courier-authlib/var/spool/authdaemon/socket
重启saslauthd
六、让postfix支持虚拟域和虚拟用户
vim /etc/postfix/main.cf
- ########################Virtual Mailbox Settings########################virtual_mailbox_base = /var/mailbox
- virtual_mailbox_base = /var/mailbox
- virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
- virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
- virtual_alias_domains =
- virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
- virtual_uid_maps = static:2525
- virtual_gid_maps = static:2525
- virtualvirtual_transport = virtual
- ##########################QUOTA Settings########################
- message_size_limit = 14336000
- virtual_mailbox_limit = 20971520
重启服务:service postfix restart
七、安装extmail-1.2.tar.gz和extman-1.1.tar.gz 下载路径在ftp://172.16.0.1/pub/Sources/postfix/
1、安装前配置:
要提供web页面,所以先安装httpd
yum -y install httpd
创建存放网页的目录:
mkdir /var/www/extsuite
3、安装
- tar xf extmail-1.2.tar.gz -C /var/www/extsuite/
- tar xf extman-1.1.tar.gz -C /var/www/extsuite/
- cd /var/www/extsuite/
- mv extmail-1.2 extmail
- mv extman-1.1 extman
- cd extman/docs
- sed -i '[email protected]TYPE=MyISAM@Engine=MyISAM@g' extmail.sql
- sed -i '[email protected]TYPE=MyISAM@Engine=MyISAM@g' init.sql
说明:由于extman版本中引擎不支持TYPE,所以将文件中包含TYPE的选项改为Engine,你也可以直接在配置文件中修改。
修改之后将该脚本导入数据库(顺序不可颠倒)
- mysql < extmail.sql
- mysql < init.sql
4、授予extmail访问extmail数据库的权限
- mysql> grant all on extmail.* to [email protected] identified by 'extmail';
- mysql> grant all on extmail.* to [email protected] identified by 'extmail';
- mysql> flush privileges;
5、配置extmail和extman
修改extmail主配置文件:
- cp /var/www/extsuite/extmail/webmail.cf.default /var/www/extsuite/extmail/webmail.cf
- vim /var/www/extsuite/extmail/webmail.cf
- SYS_USER_LANG = zh_CN #语言选项
- SYS_MAILDIR_BASE = /var/mailbox #用户邮件的存放目录
- SYS_MYSQL_USER = extmail #连接数据库服务器所使用用户名
- SYS_MYSQL_PASS = extmail #密码
- SYS_MYSQL_SOCKET = /tmp/mysql.sock #mysql.sock的路径
- SYS_AUTHLIB_SOCKET = /usr/local/courier-authlib/var/spool/authdaemon/socket #指明authdaemo socket文件的位置
修改extman的配置文件:
- cp /var/www/extsuite/extman/webman.cf.default /var/www/extsuite/extman/webman.cf
- vi /var/www/extsuite/extman/webman.cf
- SYS_MAILDIR_BASE = /var/mailbox #用户邮件的存放目录
- SYS_DEFAULT_UID = 2525
- SYS_DEFAULT_GID = 2525 #ID号需更改为前面创建的postfix用户和postfix组的id号
- SYS_MYSQL_USER = extmail
- SYS_MYSQL_PASS = extmail
- SYS_MYSQL_SOCKET = /tmp/mysql.sock
- SYS_CAPTCHA_ON = 0 #关闭校验功能
创建其运行时所需的临时目录,并修改其相应的权限:
- mkdir -pv /tmp/extman
- chown postfix.postfix /tmp/extman
而后修改cgi目录的属主:
- chown -R postfix.postfix /var/www/extsuite/extman/cgi/
拷贝docs中的文件复制到/etc/postfix下
- cd /var/www/extsuite/extman/docs/
- mv mysql_virtual_* /etc/postfix/
重启服务
service postfix restart
八、配置web服务:
- cd /etc/httpd/conf
- vim httpd.conf
- User postfix
- Group postfix #修改所属用户和组
取消中心主机,开启虚拟主机,并添加如下内容:
- <VirtualHost *:80>
- ServerName mail.test.com
- DocumentRoot /var/www/extsuite/extmail/html/
- ScriptAlias /extmail/cgi /var/www/extsuite/extmail/cgi
- Alias /extmail /var/www/extsuite/extmail/html
- ScriptAlias /extman/cgi /var/www/extsuite/extman/cgi
- Alias /extman /var/www/extsuite/extman/html
- </VirtualHost>
启动httpd服务:
service httpd start
访问mail.test.com(或许会访问到互联网上),在此我用ip进行访问。
出现错误,依赖关系没有解决
由于extmail将会用到perl的Unix::syslogd功能,下载Unix-Syslog进行安装,下载路径在ftp://172.16.0.1/pub/Sources/postfix,你也可以去http://search.cpan.org搜索下载原码包进行安装。
- tar zxvf Unix-Syslog-1.1.tar.gz
- cd Unix-Syslog-1.1
- perl Makefile.PL
- make
- make install
重启服务:
service httpd restart
刷新页面,就会出现如下访问页面了。
至此,webmail已经安装完毕了,选择管理即可登入extman进行后台管理了。
默认管理帐号为:[email protected] 密码为:extmail*123*
进入以下页面,就可以进行一系列的配置了
注:还有重要的一项:
启用虚拟域以后,需要取消中心域,即注释掉/etc/postfix/main.cf中的选项myhostname, mydestination, mydomain, myorigin几个指令;当然,也可以把mydestionation的值改为自己需要的。
之后配置虚拟域和虚拟用户,就可以利用虚拟用户来进行发邮件了。
在另外一个域内,切换用户到eucalyptus就可以看到基于base64编码的邮件了。。
整个webmail的配置过程了!!
补充:
如果想让OE基于mysql的认证,还可以对dovecot进行配置:
修改dovecot的配置wenjain
- vi /etc/dovecot.conf
- mail_location = maildir:/var/mailbox/%d/%n/Maildir
- ……
- auth default {
- mechanisms = plain
- passdb sql {
- args = /etc/dovecot-mysql.conf
- }
- userdb sql {
- args = /etc/dovecot-mysql.conf
- }
- ……
修改和mysql相关的配置文件:
- vim /etc/dovecot-mysql.conf
- driver = mysql
- connect = host=/tmp/mysql.sock
- dbname=extmail
- user=extmail
- password=extmail
- default_pass_scheme = CRYPT
- password_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'
之后在windows的OE上就可以实现基于用户认证的收发邮件了。
还有图形日志功能暂时搁置了,之后会补充上的。^_^
最后在webmail发送过程中遇到的未知的问题,给大家在这里贴出来,希望你有好的解决方法!!O(∩_∩)O谢谢
未知错误:
[[email protected] docs]# !tail
tail /var/log/maillog
Nov 7 22:52:04 mail postfix/smtpd[18181]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Nov 7 22:52:04 mail postfix/smtpd[18181]: connect from localhost.localdomain[127.0.0.1]
Nov 7 22:52:04 mail postfix/trivial-rewrite[18183]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Nov 7 22:52:04 mail postfix/trivial-rewrite[18183]: warning: mysql:/etc/postfix/mysql_virtual_domains_maps.cf: table lookup problem
Nov 7 22:52:04 mail postfix/trivial-rewrite[18183]: warning: virtual_mailbox_domains lookup failure
Nov 7 22:52:04 mail postfix/smtpd[18181]: NOQUEUE: reject: RCPT from localhost.localdomain[127.0.0.1]: 451 4.3.0 <[email protected]>: Temporary lookup failure; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<localhost.localdomain>
Nov 7 22:52:04 mail postfix/smtpd[18181]: lost connection after RCPT from localhost.localdomain[127.0.0.1]
Nov 7 22:52:04 mail postfix/smtpd[18181]: disconnect from localhost.localdomain[127.0.0.1]
初级解决办法,将/tmp/mysql.sock路径全部换成了/var/lib/mysql/mysql.sock
转载于:https://blog.51cto.com/90112526/1053828