2

我在使用带有 Scala 的 james 3.0-beta4 发送电子邮件时遇到了一些问题。

当我做...

Transport.send(message, externalRcpts.toArray(new Address[externalRcpts.size()]));

...我收到以下错误:

james.domainlist  - No domain found
javax.persistence.NoResultException: Query "SELECT domain FROM JamesDomain domain WHERE domain.name=:name" selected no result, but expected unique result.
at org.apache.openjpa.persistence.QueryImpl.getSingleResult(QueryImpl.java:345) ~[openjpa-2.1.0.jar:2.1.0]
at org.apache.james.domainlist.jpa.JPADomainList.containsDomain(JPADomainList.java:100) ~[james-server-data-jpa-3.0-beta4.jar:3.0-beta4]
at org.apache.james.mailetcontainer.impl.JamesMailetContext.isLocalServer(JamesMailetContext.java:341) [james-server-mailetcontainer-camel-3.0-beta4.jar:3.0-beta4]
at org.apache.james.transport.matchers.HostIsLocal.matchRecipient(HostIsLocal.java:38) [apache-standard-mailets-1.1.jar:1.1]
at org.apache.mailet.base.GenericRecipientMatcher.match(GenericRecipientMatcher.java:54) [apache-mailet-base-1.1.jar:1.1]
at org.apache.james.mailetcontainer.impl.camel.MatcherSplitter.split(MatcherSplitter.java:87) [james-server-mailetcontainer-camel-3.0-beta4.jar:3.0-beta4]
at sun.reflect.GeneratedMethodAccessor111.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.6.0_26]
4

1 回答 1

0

该错误表示 James 无法解析目标域。如果您发送到localhost或另一个未知域,则可能会发生这种情况。尝试这个:

./james-cli.sh -h localhost -p 9999 adddomain domain_name.com

无论如何,如果我没记错的话,这个错误不会阻塞——消息仍然会到达目的地。如果它在您的情况下被阻止,请尝试找到配置选项以使其不被阻止。我不确定该选项的实际位置,但它应该具有非常直观的名称。

于 2013-07-31T11:29:29.400 回答