使用Apache James发送的邮件不会发送

时间:2011-02-21 21:24:44

标签: java email james

我已经设置了Apache James Server v2.3.2并按照HOW TO部分中的描述对其进行了配置。

工作正常,按预期发送邮件,但只在我的Gmail帐户上发送,并过滤为垃圾邮件。 不知道为什么我的其他电子邮件帐户拒绝它我可以在收件箱中找到它们。

我试图在邮件列表存档中找到一个解决方案但没有结果。

有人面对这个问题吗?我错过了一些必需的SMTP标题吗?

典型的原始消息(java邮件会话调试模式)如下所示(some_email@somehost.some_domain):

DEBUG: setDebug: JavaMail version 1.4.3
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth false
DEBUG SMTP: trying to connect to host "localhost", port 25, isSSL false
220 alex SMTP Server (JAMES SMTP Server 2.3.2) ready Mon, 21 Feb 2011 23:15:02 +0200 (EET)
DEBUG SMTP: connected to host "localhost", port: 25

EHLO alex
250-alex Hello alex (localhost [127.0.0.1])
250-PIPELINING
250 ENHANCEDSTATUSCODES
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "ENHANCEDSTATUSCODES", arg ""
DEBUG SMTP: use8bit false
MAIL FROM:<alex@localhost>
250 2.1.0 Sender <alex@localhost> OK
RCPT TO:<some_email@somehost.some_domain>
250 2.1.5 Recipient <some_email@somehost.some_domain> OK
DEBUG SMTP: Verified Addresses
DEBUG SMTP:   some_email@somehost.some_domain
DATA
354 Ok Send data ending with <CRLF>.<CRLF>
From: alex@localhost
To: some_email@somehost.some_domain
Message-ID: <7704521.0.1298322902328.JavaMail.Administrator@alex>
Subject: re[2]: hello
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

body is here
.
250 2.6.0 Message received
QUIT
221 2.0.0 alex Service closing transmission channel

2 个答案:

答案 0 :(得分:2)

调试日志没有明显的错误。但看起来您的服务器在具有动态IP地址的测试或开发机器上运行?许多邮件服务器拒绝来自动态IP范围的邮件。

答案 1 :(得分:0)

我认为由此造成的问题:

在接受任何邮件之前通过电子邮件服务器执行反向DNS查询。他们检查电子邮件来自的IP域以及电子邮件真正来自的IP。

如果域名和电子邮件发件人的IP不匹配,邮件服务器会认为该邮件是垃圾邮件或垃圾邮件。

此处由于您的域(localhost)不是有效地址,当电子邮件服务器发送反向DNS查询时,不会获得IP并认为您的邮件是垃圾邮件或垃圾邮件。

有关详情,请查看:http://wiki.junkemailfilter.com/index.php/Fixing_Reverse_DNS