请检查 postfix、dovecot 的日志文件,看看里面有什么信息。

我没有收到任何邮件,请问您是发到哪个地址?

iRedMail 默认使用 Dovecot 的 deliver 程序作为 MDA,这时候是不需要在 postfix 里指定 Maildir/mbox 格式的。但如果你用 postfix 自己提供的 "virtual" 这个程序作为 MDA,它就需要识别最终的邮箱格式。

如果你用 postfix 提供的 virtual 等 MDA 工具,就需要它了。

可以用 postfix 的 check_client_access 来解决。policyd 里的白名单是返回 DUNNO,而不是 OK。

直接在 Google 里搜索即可:

要搜索的内容 site:iredmail.org/bbs/

目前还没有收到您的邮件,您可以直接发在论坛进行讨论。而且所有的 iRedMail 相关的技术问题都只经由论坛进行技术支持。

另,对 iRedMail 的技术支持并不包含在购买 iRedAdmin-Pro 的费用里。

另外,强烈建议自己看一下你贴的信息,英文解释已经比较清楚了。如果英文不是很好,抄本字典看一遍即可。不要让人觉得你太懒了。

没有问题。

carlkyo 写道:

The mailserver does not accept e-mails for postmaster@domain

iRedMail 默认没有建立 postmaster@ 这个邮件帐号。

RFC 协议里建议邮局应该要有 postmaster@ 这个帐号,因为各种邮件相关的软件在各种退信里都默认使用 postmaster@ 作为用户反馈的联系人。
iRedMail 将是否创建这个帐号留给系统管理员做决定,因为它只是一个建议,而不是硬性规定。另外,大家都知道会有一个 postmaster@ 帐号,那么它会收到大量 SPAM。

如果您使用的是 iRedAdmin-Pro-LDAP,可以直接设置:
http://screenshots.iredmail.googlecode.com/hg/iredadmin/user_profile_restrictions.png

szlqdong 写道:

深圳地区如何购买?另外,功能列表都是英文,有中文的吗?正在考虑购买邮件服务器及服务,希望能详细地沟通下。目前有几种服务形式?若不满足的功能我们付费请你们开发,是否提供?

感谢您有兴趣。

- 可以通过支付宝、PayPal、银行直接汇款。
- 功能列表目前只有英文页面。
- 服务形式:目前只提供远程安装、升级服务,不提供为期较长的技术支持。
- 由于人员、精力所限,我们不做定制开发。

如果你使用的是 OpenLDAP,则在 iRedAPD 通过插件 block_amavisd_blacklisted_senders.py 已经支持这个功能。
MySQL 版本里的 iRedAPD 暂时还不支持。

但两个 backend 都可以通过 amavisd 的 per-user 黑白名单来实现。

备份出来的 LDIF 文件应该用 ldapadd 命令再导进去。
参考: http://www.openldap.org/doc/admin24/

2,138

(2 篇回复,发表在 iRedMail 技术支持)

在新版本的 iRedMail 里已经集成,5月1日发布。

2,139

(2 篇回复,发表在 iRedMail 技术支持)

在 MySQL 的 vmail.mailbox 表的 quota 字段里设置(以 MB 为单位),或者在 OpenLDAP 的用户属性的 mailQuota 里设置即可(以 byte 为单位)。

最常见的问题就是这个邮件帐号的密码被猜中了,或者你的ssh帐号密码被猜中。导致他可以正常登录邮件服务器发送邮件。

先将这个用来发送邮件的帐号改一下密码,复杂点的。
再用 history 命令检查一下各个系统帐号是否有从命令行发送邮件的历史纪录。

增加一个 domain alias 即可。在 PostfixAdmin 和 iRedAdmin-Pro 里都可以设置。
iRedAdmin-Pro 里的设置如图所示:

http://screenshots.iredmail.googlecode.com/hg/iredadmin/domain_profile_alias.png

2,142

(19 篇回复,发表在 iRedMail 技术支持)

你的DNS设置正确么?是否服务器前端的防火墙封禁了到这台服务器的25端口。

carlkyo 写道:

我想备份现在0.6.1的全部邮件,不包括ldap的数据(想重新加一次,升级太麻烦了)
是不是把备份覆盖0.7.0的l就可以了??

如果只是备份邮件,只备份 /var/vmail/ 目录即可。这是 iRedMail 存储邮件的默认目录,如果你安装时设置了其它路径,则备份对应路径。
恢复邮箱时要确保新建用户的 mailbox 路径和你恢复后得到的是一致的,否则会出现看不到旧邮件的情况。

carlkyo 写道:

我用gmail msn yahoo的信箱寄去iredmail就会返信说

把完整的退信贴上来。断章取义容易影响判断。

从贴的日志上看不出什么信息。

carlkyo 写道:

postmaster was rejected because it would exceed the quota for the mailbox.

这个信息在哪出现?怎么这个最重要的信息没给。

上面的帖子已经提供了脚本,不知道你现在实际测试的情况怎样?

yizhongrenyy 写道:

请教一下:
通过什么方式可以直观的从邮件组的列表中看到该邮件组的所有成员。

目前似乎只有 iRedAdmin-Pro 可以:
http://screenshots.iredmail.googlecode.com/hg/iredadmin/maillist_profile_members.png

多谢反馈。已提交修改:
http://code.google.com/p/iredmail/sourc … 872e7c4567

yizhongrenyy 写道:

extmail数据表结构如下:
alias,domain,domain_manager,mailbox,manager
一共是这五个表,表的类型都是MyISAM

您没有将具体的表结构展示出来,这样没法分析啊。

这个脚本 http://iredmail.googlecode.com/svn/trun … mailbox.sh 仍然可以用,但是要去掉 netdiskquota 字段。

这里是去掉 netdiskquota 后的脚本。脚本文件里已经对如何使用有详细的解释,这里就不赘述了。

#!/usr/bin/env bash

# Author:   Zhang Huangbin (michaelbibby <at> gmail.com )
# Date:     2008.06.11
# Purpose:  Migrate ExtMail MySQL 'mailbox' table to iRedMail format.

# Usage:
#   * Run into MySQL command line with privilege user, e.g. root.
#       # mysql -uroot -p extmail
#   * Select some column from mailbox table:
#       mysql> SELECT username,password,name,maildir,quota,domain,createdate,active
#            > INTO OUTFILE '/tmp/mailbox.sql'
#            > FROM mailbox;
#   * Run this script:
#       # sh migrate_extmail_mailbox.sh /tmp/mailbox.sql
#     It will create a new file: /tmp/mailbox.sql.new
#   * Import this new file in MySQL command line:
#       mysql> USE vmail;
#       mysql> SOURCE /tmp/mailbox.sql.new;

usage()
{
    echo -e "\nUsage: sh $0 script\n"
}

[ X"$#" != X"1" ] && usage && exit 255 

OUTPUT_SQL="$1.iRedMail"
echo ''> ${OUTPUT_SQL}

while read line; do
    username="$(echo $line | awk '{print $1}')"
    password="$(echo $line | awk '{print $2}')"
    maildir="$(echo $line | awk '{print $3}' | awk -F'Maildir/' '{print $1}' | tr [A-Z] [a-z] )"
    quota="$(echo $line | awk '{print $4}')"
    domain="$(echo $line | awk '{print $5}')"
    createdate="$(echo $line | awk '{print $6, $7}')"
    active="$(echo $line | awk '{print $8}')"

    echo $quota | grep -i 'S$' >/dev/null 2>&1
    if [ X"$?" == X"0" ]; then
        quota="$(echo $quota | sed 's/S$//')"
        quota="$(expr \( $quota / 1024 \) )"
    else
        :
    fi

    cat >> ${OUTPUT_SQL} <<EOF
INSERT INTO mailbox (username, password, maildir, quota, domain, created, active) values ("$username", "$password", "$maildir", $quota, "$domain", "$createdate", "$active");
EOF
done < $1

凡是执行的 MYSQL 命令,mysql server 都可以记录下来。
在 mysql 的配置文件 /etc/my.cnf 里加入 "log = /tmp/mysql.log" 即可将所有 mysql 命令都记录下来。

[mysqld]
log = /tmp/mysql.log