ZhangHuangbin 写道:

通常这种情况只有两个可能:

1: 你的邮件域名没有正确的 A/MX 纪录。或者,设置了但还没生效。
2: 你的服务器与外部网络之间的某个网络设备没有正确配置,导致邮件无法到达你的服务器。例如网关/防火墙等设备没有正确设置邮件相关的端口,主要是 25 端口。

谢谢张大的回答。
A/MX记录设置应该是正确有。下面是kv9.fi的测试
Testing MX server: mail.letoudai.com

Address lookup did yield following ones:

  IPv4 119.29.33.147
Testing server at address: IPv4 119.29.33.147

[ CONNECTED! ]
220 mail.letoudai.com ESMTP Postfix (Ubuntu)
EHLO z2.cat.iki.fi
250-mail.letoudai.com
250-PIPELINING
250-SIZE 15728640
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Excellent! It speaks ESMTP!

MAIL FROM:<>
250 2.1.0 Ok
Fine, it accepts NULL return-path as is mandated by RFC 2821 section 6.1

RSET
250 2.0.0 Ok
MAIL FROM:<postmaster@z2.cat.iki.fi>
250 2.1.0 Ok
RCPT TO:<no-reply@letoudai.com>
250 2.1.5 Ok
RCPT TO:<postmaster@letoudai.com>
250 2.1.5 Ok

Apparently OK!

看记录应该是对的。
第二条是很有可能,可是我的cluebringer已经把灰名单屏蔽了。附一下配置
#
# Server configuration
#
[server]

# Protocols to load
protocols=<<EOT
Postfix
Bizanga
EOT

# Modules to load
modules=<<EOT
Core
AccessControl
CheckHelo
CheckSPF
#Greylisting
Quotas
EOT

# User to run this daemon as
user=cluebringer
group=cluebringer

# Filename to store pid of parent process
pid_file=/var/run/cluebringer/cbpolicyd.pid

# Uncommenting the below option will prevent cbpolicyd going into the background
#background=no

# Preforking configuration
#
# min_server        - Minimum servers to keep around
# min_spare_servers    - Minimum spare servers to keep around ready to
#               handle requests
# max_spare_servers    - Maximum spare servers to have around doing nothing
# max_servers        - Maximum servers alltogether
# max_requests        - Maximum number of requests each child will serve
#
# One may want to use the following as a rough guideline...
# Small mailserver:  2, 2, 4, 10, 1000
# Medium mailserver: 4, 4, 12, 25, 1000
# Large mailserver: 8, 8, 16, 64, 1000
#
#min_servers=4
#min_spare_servers=4
#max_spare_servers=12
#max_servers=25
#max_requests=1000



# Log level:
# 0 - Errors only
# 1 - Warnings and errors
# 2 - Notices, warnings, errors
# 3 - Info, notices, warnings, errors
# 4 - Debugging
log_level=0

# File to log to instead of stdout
log_file=/var/log/cbpolicyd.log

# Log destination for mail logs...
# main        - Default. Log to policyd's main log mechanism, accepts NO args
# syslog    - log mail via syslog
#            format: log_mail=facility@method,args
#
# Valid methods for syslog:
# native    - Let Sys::Syslog decide
# unix        - Unix socket
# udp        - UDP socket
# stream    - Stream (for Solaris)
#
# Example: unix native
#log_mail=mail@syslog:native
#
# Example: unix socket
#log_mail=mail@syslog:unix
#
# Example: udp
#log_mail=mail@syslog:udp,127.0.0.1
#
# Example: Solaris
#log_mail=local0@syslog:stream,/dev/log
#log_mail=maillog
log_mail=mail@syslog:native

# Things to log in extreme detail
# modules     - Log detailed module running information
# tracking     - Log detailed tracking information
# policies     - Log policy resolution
# protocols     - Log general protocol info, but detailed
# bizanga     - Log the bizanga protocol
#
# There is no default for this configuration option. Options can be
# separated by commas. ie. protocols,modules
#
#log_detail=

# IP to listen on, * for all
host=127.0.0.1
host=127.0.0.1

# Port to run on
port=10031

# Timeout in communication with clients
#timeout=120

# cidr_allow/cidr_deny
# Comma, whitespace or semi-colon separated. Contains a CIDR block to
# compare the clients IP to.  If cidr_allow or cidr_deny options are
# given, the incoming client must match a cidr_allow and not match a
# cidr_deny or the client connection will be closed.
#cidr_allow=0.0.0.0/0
#cidr_deny=



[database]
#DSN=DBI:SQLite:dbname=policyd.sqlite
DSN=DBI:mysql:host=127.0.0.1;database=cluebringer;user=cluebringer;password=Bx7o7NTzbsXvDKn7b6Qd7YyAieN67y
#DSN=DBI:Pg:database=policyd;host=localhost
#DSN=DBI:_DBC_DBTYPE_:dbname=_DBC_DBNAME_;host=_DBC_DBSERVER_
## Debian
# DB_Type can be one of - pgsql, mysql or sqlite3
# DB_Host is ignored for sqlite3. For pgsql and mysql it should be left
#         unset or as 'localhost' if you wish to use unix sockets to communicate
#         with the database. To use TCP/IP to connect to a local database set
#         '127.0.0.1' as the value. Otherwise use the hostname or IP address of
#         the database server.
# DB_Port is ignored for sqlite3. For pgsql it will default to '5432' and
#         for mysql the default is '3306'. If you are running your database server
#         on a non-standard port you should set it's value here.
# DB_Name defaults to '/var/lib/cluebringer/cluebringer.db' for sqlite3, if you
#         wish to use another file for the database set it's full path here and
#         ensure that the cluebringer user can read and write not only the file
#         but the directory it lives in. For pgsql and mysql this will
#         default to 'cluebringer', otherwise you should set the name of the
#         database here.

DB_Type=mysql
DB_Host=127.0.0.1
DB_Port=3306
DB_Name=cluebringer
Username=cluebringer
Password=Bx7o7NTzbsXvDKn7b6Qd7YyAieN67y


# What do we do when we have a database connection problem
# tempfail    - Return temporary failure
# pass        - Return success
bypass_mode=pass

# How many seconds before we retry a DB connection
bypass_timeout=10



# Access Control module
[AccessControl]
enable=1


# Greylisting module
[Greylisting]
enable=0


# CheckHelo module
[CheckHelo]
enable=1


# CheckSPF module
[CheckSPF]
enable=1


# Quotas module
[Quotas]
enable=1

==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:0.9.0
- 使用哪个数据库存储用户帐号(OpenLDAP,MySQL,PostgreSQL):MySQL
- 使用的 Linux/BSD 发行版名称及版本号:Ubuntu 12.04 LTS
- 与您的问题相关的日志信息:无日志
====
主动向域内发送邮件时只有163的可以发送成功,QQ邮箱发送不进来,且没有日志记录问题