免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 佛光普照
打印 上一主题 下一主题

[Mail] 安装postfix的无法创建邮件域目录 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2005-09-26 17:54 |只看该作者

安装postfix的无法创建邮件域目录

virtual_transport = maildrop (你的maildrop都没有安装请问你是如何去应用这个的?)

论坛徽章:
0
12 [报告]
发表于 2005-09-27 07:25 |只看该作者

安装postfix的无法创建邮件域目录

原帖由 "佛光普照" 发表:

哦,那是还没有装 maildrop-1.8.0的原故,请问这个与我上面所说的不能创建目录有关系吗,或者是有直接的连系。
我安装maildrop-1.8.0后再试一试。我想应该不关这个问题的事。
我查看了很我多,要建立Maildir只需?.........


要建立用户的maildir,在不太熟悉的情况下,如果不设置transport_maps,那么就最好使用virtual作为你的virtual_transport ,因为virtual是目前为止唯一能自动建立用户maildir的投递程序。

maildrop也不能自动建立,除非依靠第三方工具(maildirmaker?)或者打补丁。

楼主可以实验一下将virtual_transport 改回virtual,应该是可以的。因为看你的日志中,pipe呼叫maildrop没成功,因为master.cf里配置的maildrop路径/usr/local/bin/maildrop不存在。

为了简便,先试验一下用virtual吧,一定会可以的。

论坛徽章:
0
13 [报告]
发表于 2005-09-27 09:00 |只看该作者

安装postfix的无法创建邮件域目录

原帖由 "hzqbbc" 发表:


要建立用户的maildir,在不太熟悉的情况下,如果不设置transport_maps,那么就最好使用virtual作为你的virtual_transport ,因为virtual是目前为止唯一能自动建立用户maildir的投递程序。

maildrop也不能自动?.........

我的main.cf配置文件中有三个相关配置:
home_mailbox = Maildir/
mailbox_transport = maildrop
virtual_transport = maildrop按照楼方的方法,需要把
virtual_transport = maildrop修改成virtual_transport = virtual
能后通过postfixadmin来管理创建域,我测试的结果同样是无法自动创建该域和
域下的邮件用户名文件夹。是不是需要把mailbox_transport=maildrop也必须改成mailbox_transport=virtual呢,我试过了也是不行的,是不是需要安装第三方的插件才能让他自动的创建邮箱域目录和邮件目录呢?

通过进一步了解我了解了maildrop是不可能自动创建目录的,能后我把上面的恢复到初始的配置,并手动的去用脚本实现,实现的情况如下:
# vi /etc/sudoers
vmail ALL = NOPASSWD: /usr/sbin/maildirmake.sh , /usr/sbin/maildirdel.sh

新建/usr/sbin/maildirmake.sh文件
# vi /usr/sbin/maildirmake.sh
#!/bin/bash
set -e
if [ -d /var/mailbox/$1 ]
then :
else
  mkdir /var/mailbox/$1>;&2
fi
chown -R vmail:vmail /var/mailbox/$1
echo $2
cd "/var/mailbox/$1"
/usr/local/imap/bin/maildirmake $2
chown -R 1001:12345 /var/mailbox/$1/$2
chmod -R g=s /var/mailbox/$1/$2

新建/usr/sbin/maildirdel.sh文件
# vi /usr/sbin/maildirmake.sh
#!/bin/bash
rm -rf /var/mailbox/$1/$2

# chmod 755 /usr/sbin/maildirmake.sh
# chmod 755 /usr/sbin/maildirdel.sh

更改postfixadmin目录及postfixadmin/admin目录下的create-mailbox.php文件及在admin/create-domain.php文件
在这三个文件的$fDomain = escape_string ($_POST['fDomain']);行后加一行:
# vi /var/www/postfixadmin/admin/create-mailbox.php (vi /var/www/postfixadmin/create-mailbox.php)
system("sudo /usr/sbin/maildirmake.sh $fDomain ".$_POST['fUsername']);

更改postfixadmin目录及postfixadmin/admin目录下的delete.php文件
在这两个文件的$result = db_query ("SELECT * FROM mailbox WHERE username='$fDelete' AND domain='$fDomain'";行后加几行:
# vi /var/www/postfixadmin/admin/delete.php (vi /var/www/postfixadmin/delete.php)
$userarray=explode("@",$fDelete);
$user=$userarray[0];
$domain=$userarray[1];
system("sudo /usr/sbin/maildirdel.sh $domain $user";

完成了手动用脚本添加到postfixadmin中去,然后用postfixadmin管理域和邮箱帐号;创建后能在/var/mailbox/下面创建域和邮箱了。如
/var/mailbox/test.com/test
后通查看该目录自动生成了有三个目录分别为:cur new tmp
但是暂时没有内容:我试着发送邮件发到外面的邮件可以正常日志为:
Sep 27 09:02:43 PostFix postfix/smtpd[11897]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Sep 27 09:02:43 PostFix postfix/smtpd[11897]: connect from PostFix[127.0.0.1]
Sep 27 09:02:43 PostFix postfix/smtpd[11897]: E405986120: client=PostFix[127.0.0.1]
Sep 27 09:02:43 PostFix postfix/cleanup[11902]: E405986120: message-id=<20050927130243.E405986120@www.test.com>;
Sep 27 09:02:43 PostFix postfix/qmgr[11808]: E405986120: from=<admin@feifei.com>;, size=489, nrcpt=1 (queue active)
Sep 27 09:02:44 PostFix postfix/smtpd[11897]: disconnect from PostFix[127.0.0.1]
Sep 27 09:02:44 PostFix postfix/smtp[11904]: E405986120: to=<haigen.luo@kenfor.com>;, relay=kenfor.com[211.139.218.153], delay=1, status=sent (250 ok 1127825884 qp 3815)
Sep 27 09:02:44 PostFix postfix/qmgr[11808]: E405986120: removed

我再创建一个邮箱test2@test.com然后向test@test.com发送邮件却不行日志提示如下:
Sep 27 09:04:33 PostFix postfix/smtpd[11907]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Sep 27 09:04:34 PostFix postfix/smtpd[11907]: connect from PostFix[127.0.0.1]
Sep 27 09:04:34 PostFix postfix/smtpd[11907]: 2174586120: client=PostFix[127.0.0.1]
Sep 27 09:04:34 PostFix postfix/cleanup[11910]: 2174586120: message-id=<20050927130434.2174586120@www.test.com>;
Sep 27 09:04:34 PostFix postfix/qmgr[11808]: 2174586120: from=<admin@feifei.com>;, size=473, nrcpt=1 (queue active)
Sep 27 09:04:34 PostFix postfix/smtpd[11907]: disconnect from PostFix[127.0.0.1]
Sep 27 09:04:34 PostFix postfix/virtual[11912]: 2174586120: to=<test@test.com>;, relay=virtual, delay=0, status=sent (delivered to maildir)
Sep 27 09:04:34 PostFix postfix/qmgr[11808]: 2174586120: removed
查看test.com/test/new目录下,没有任何的邮件?这是为什么呢?

论坛徽章:
0
14 [报告]
发表于 2005-09-27 09:10 |只看该作者

安装postfix的无法创建邮件域目录

postfixadmin不能生成用户目录也许是和postfix支持mysql有关,我用rpm安装的时候,如果postfix支持mysql的rpm包没有安装,就会出现这种情况。

论坛徽章:
0
15 [报告]
发表于 2005-09-27 10:14 |只看该作者

安装postfix的无法创建邮件域目录

virtual_mailbox_domains = mysql:/etc/postfix/mysql/mysql_virtual_domains_maps.cf

这个是怎么回事?

另外, 你往mysql里加用户了吗?

还有, 你的日志文件里显示: myhostname不对, 这个改过来了吗?

论坛徽章:
0
16 [报告]
发表于 2005-09-27 14:18 |只看该作者

安装postfix的无法创建邮件域目录

原帖由 "channel5" 发表:
virtual_mailbox_domains = mysql:/etc/postfix/mysql/mysql_virtual_domains_maps.cf

这个是怎么回事?

另外, 你往mysql里加用户了吗?

还有, 你的日志文件里显示: myhostname不对, 这个改过来了吗?.........

楼主说的那个是域的身份验证;
mysql_virtual_domains_maps.cf 是通过一个帐号来验证在MYSQL数据库中是否存在该域名,再去决定验证用户的邮件帐号。
也就是MYSQL中用户是肯定有的。只是无法通过验证了。
在发送给外域则可以成功:
Sep 27 14:19:40 PostFix postfix/smtpd[12410]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Sep 27 14:19:40 PostFix postfix/smtpd[12410]: connect from PostFix[127.0.0.1]
Sep 27 14:19:40 PostFix postfix/smtpd[12410]: 86DB186120: client=PostFix[127.0.0.1]
Sep 27 14:19:40 PostFix postfix/cleanup[12415]: 86DB186120: message-id=<20050927181940.86DB186120@www.test.com>;
Sep 27 14:19:40 PostFix postfix/qmgr[12175]: 86DB186120: from=<admin@feifei.com>;, size=489, nrcpt=1 (queue active)
Sep 27 14:19:40 PostFix postfix/smtpd[12410]: disconnect from PostFix[127.0.0.1]
Sep 27 14:19:41 PostFix postfix/smtp[12417]: 86DB186120: to=<haigen.luo@kenfor.com>;, relay=kenfor.com[211.139.218.153], delay=1, status=sent (250 ok 1127844901 qp 8097)
Sep 27 14:19:41 PostFix postfix/qmgr[12175]: 86DB186120: removed

发给本地的域名test.com却产生错误如下:
Sep 27 14:21:40 PostFix postfix/smtpd[12418]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Sep 27 14:21:40 PostFix postfix/smtpd[12418]: connect from PostFix[127.0.0.1]
Sep 27 14:21:40 PostFix postfix/smtpd[12418]: 8550A86120: client=PostFix[127.0.0.1]
Sep 27 14:21:40 PostFix postfix/cleanup[12421]: 8550A86120: message-id=<20050927182140.8550A86120@www.test.com>;
Sep 27 14:21:40 PostFix postfix/qmgr[12175]: 8550A86120: from=<admin@feifei.com>;, size=473, nrcpt=1 (queue active)
Sep 27 14:21:40 PostFix postfix/smtpd[12418]: disconnect from PostFix[127.0.0.1]
Sep 27 14:21:41 PostFix authdaemond: ldap_simple_bind_s failed: Can't contact LDAP server
Sep 27 14:21:41 PostFix postfix/pipe[12423]: 8550A86120: to=<test@test.com>;, relay=maildrop, delay=1, status=bounced (user unknown. Command output: Invalid user specified. )
Sep 27 14:21:41 PostFix postfix/cleanup[12421]: 254368614A: message-id=<20050927182141.254368614A@www.test.com>;
Sep 27 14:21:41 PostFix postfix/qmgr[12175]: 254368614A: from=<>;, size=2177, nrcpt=1 (queue active)
Sep 27 14:21:41 PostFix postfix/qmgr[12175]: 8550A86120: removed
Sep 27 14:21:41 PostFix authdaemond: ldap_simple_bind_s failed: Can't contact LDAP server
Sep 27 14:21:41 PostFix postfix/pipe[12423]: 254368614A: to=<admin@feifei.com>;, relay=maildrop, delay=0, status=bounced (user unknown. Command output: Invalid user specified. )
Sep 27 14:21:41 PostFix postfix/qmgr[12175]: 254368614A: removed

论坛徽章:
0
17 [报告]
发表于 2005-09-27 16:20 |只看该作者

安装postfix的无法创建邮件域目录

[quote]原帖由 "佛光普照"]254368614A: removed[/quote 发表:


对每一个用户都要找他的域? 你一个机器上有多少虚拟域名?

这个不一定错误, 但是绝对是个怪怪的东西。

另外, 你的日志文件显示你没有装ldap服务器。 或者没有
设置。 你应该检查一下这个。

论坛徽章:
0
18 [报告]
发表于 2005-09-27 16:50 |只看该作者

安装postfix的无法创建邮件域目录

原帖由 "channel5" 发表:


对每一个用户都要找他的域? 你一个机器上有多少虚拟域名?

这个不一定错误, 但是绝对是个怪怪的东西。

另外, 你的日志文件显示你没有装ldap服务器。 或者没有
设置。 你应该检查一下这个。

哦,哈哈谢谢您的提醒,是我自己粗心大意搞错了authdaemond的认证方式,现在选择的是
authmodulelist="authmysql"
authmodulelistorig="authmysql"
上面出现的ldap的错误了,但是通过手动脚本创建的目录和邮箱目录去无法收到邮件日志提示是:
Sep 27 16:54:54 PostFix postfix/smtpd[23987]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Sep 27 16:54:54 PostFix postfix/smtpd[23987]: connect from PostFix[127.0.0.1]
Sep 27 16:54:54 PostFix postfix/smtpd[23987]: A969E8614C: client=PostFix[127.0.0.1]
Sep 27 16:54:54 PostFix postfix/cleanup[23990]: A969E8614C: message-id=<20050927205454.A969E8614C@www.test.com>;
Sep 27 16:54:54 PostFix postfix/qmgr[12175]: A969E8614C: from=<admin@feifei.com>;, size=477, nrcpt=1 (queue active)
Sep 27 16:54:54 PostFix maildrop[23992]: Unable to open mailbox.
Sep 27 16:54:54 PostFix postfix/smtpd[23987]: disconnect from PostFix[127.0.0.1]
Sep 27 16:54:54 PostFix postfix/pipe[23976]: A969E8614C: to=<test@feifei.com>;, relay=maildrop, delay=0, status=deferred (temporary failure. Command output: /usr/bin/maildrop: Unable to open mailbox. )

论坛徽章:
0
19 [报告]
发表于 2005-09-27 17:29 |只看该作者

安装postfix的无法创建邮件域目录

我现在修改了authdaemond的认证方式之后可以正常的发送邮件了。但是却无法认证通过,是这样,在SMTP需要身份认证时不选也可以发送邮件!
我正在查找下一步的原因,欢迎遇到过的朋友一起分享你的成功经验!

论坛徽章:
0
20 [报告]
发表于 2005-09-29 16:06 |只看该作者

安装postfix的无法创建邮件域目录

搞了好久终于搞定了这个问题,安装后应该没有什么问题了。但是还有一个是SMTP身份验证的问题,通过FOXMAIL设置一个帐号,在邮件帐号的密码正确的情况下可以不需要SMTP身份验证都可以发送邮件;如果密码不正确则通过不了验证。我的验证方式是mysql身份验证的;还有就是在发件地址中可以采用不同的地址也同样可以发送邮件!
我采用是cyrus-sasl2.1.20
来验证的!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP