Date: 2004-04-12T21:40:22 Editor: SergeKnystautas <[EMAIL PROTECTED]> Wiki: Apache James Wiki Page: JamesDocumentationNotes URL: http://wiki.apache.org/james/JamesDocumentationNotes
Cleaning up some import issues... learning about how the new wiki works. Change Log: ------------------------------------------------------------------------------ @@ -3,9 +3,9 @@ '''What does the sendmail "SMART_HOST" concept map to in James?''' -You can use the { { { RemoteDelivery } } } mailet to either send messages using normal MX lookups, or have them deliver all emails to a given server. You do this by setting the <gateway> parameter in the [http://james.apache.org/provided_mailets_2_1.html#RemoteDelivery RemoteDelivery] mailet. If you want some emails to go through normal MX lookup delivery and some mail to all go to a particular mail server, you can configure two instances of { { { RemoteDelivery } } }, one to do normal MX lookup delivery and one to direct all mail to your other server. (be sure the two instances are using different <outgoing> spools.) +You can use the !RemoteDelivery mailet to either send messages using normal MX lookups, or have them deliver all emails to a given server. You do this by setting the <gateway> parameter in the [http://james.apache.org/provided_mailets_2_1.html#RemoteDelivery RemoteDelivery] mailet. If you want some emails to go through normal MX lookup delivery and some mail to all go to a particular mail server, you can configure two instances of !RemoteDelivery, one to do normal MX lookup delivery and one to direct all mail to your other server. (be sure the two instances are using different <outgoing> spools.) -You can also emulate sendmail's "local relay" and "mail hub" by using the remote delivery mailet, as described above, with the { { { "HostIs=localhost" and "HostIsLocal" } } } matchers respectively to forward all local mail to another machine. +You can also emulate sendmail's "local relay" and "mail hub" by using the remote delivery mailet, as described above, with the "!HostIs=localhost" and "!HostIsLocal" matchers respectively to forward all local mail to another machine. See also SmartOrSecondaryHost for details. ---- @@ -17,7 +17,7 @@ If there is a network issue (DNS, temporary exception on remote server, network outage), James (by default) is set to retry 15 times every 2 hours. If it is a permanent error (like no user or mailbox is full), then the bounce will come back immediately. -You can change how frequently and how many times it retries by modifying the { { { RemoteDelivery } } } mailet configuration (http://james.apache.org/provided_mailets_2_1.html). +You can change how frequently and how many times it retries by modifying the !RemoteDelivery mailet configuration (http://james.apache.org/provided_mailets_2_1.html). ---- '''Where do I make these configuration changes/where is config.xml?''' @@ -38,11 +38,11 @@ There is a longer, biased explanation of these issues in Serge's NoFastFail wiki page. ---- -'''Is it ok to disable { { { RemoteAddrNotInNetwork } } }?''' +'''Is it ok to disable !RemoteAddrNotInNetwork?''' '''NO!!!''' Under no case should you disable this. Even if this is an internal-only mail server, we still recommend leaving this in and just setting the appropriate network addresses. This is the single most important configuration setting to prevent relaying. -''In James v2.2 or later, you could '''substitute''' the authorized addresses support in the SMTP handler for RemoteAddrNotInNetwork. But you must have one or the other.'' +''In James v2.2 or later, you could '''substitute''' the authorized addresses support in the SMTP handler for !RemoteAddrNotInNetwork. But you must have one or the other.'' ---- '''What databases does James support''' @@ -60,7 +60,7 @@ Ten times out of ten, this is because you did not tell James what DNS servers to use. You need to edit the config.xml file to set the DNS servers. Instructions are in config.xml. -Actually I just found another reason: In the transport processor the default RemoteAddrNotInNetwork=127.0.0.1 was causing mail sent to be marked as spam even though I was sending from the same machine. It turns out that the localhost was identifying with an IPv6 address, so changing it to '''RemoteAddrNotInNetwork=127.0.0.1,0:0:0:0:0:0:0:1''' did the trick. -- Torbjörn Gannholm +Actually I just found another reason: In the transport processor the default !RemoteAddrNotInNetwork=127.0.0.1 was causing mail sent to be marked as spam even though I was sending from the same machine. It turns out that the localhost was identifying with an IPv6 address, so changing it to '''!RemoteAddrNotInNetwork=127.0.0.1,0:0:0:0:0:0:0:1''' did the trick. -- Torbjörn Gannholm ---- '''Why does James need it's own DNS servers? Can't it just use my machine's DNS like every other program?''' @@ -92,7 +92,7 @@ This question is also related to the ''Why aren't my other messages going out when James is timing out on a dead host?'' question. -{ { { RemoteDelivery } } } defaults to using a single delivery thread, but it is easy (I would say desirable) to add more delivery threads, using the <deliveryThreads> element. See [http://james.apache.org/provided_mailets_2_1.html#RemoteDelivery RemoteDelivery Parameters] for details. +!RemoteDelivery defaults to using a single delivery thread, but it is easy (I would say desirable) to add more delivery threads, using the <deliveryThreads> element. See [http://james.apache.org/provided_mailets_2_1.html#RemoteDelivery RemoteDelivery Parameters] for details. ---- '''Why can't KMail connect to James through SSL/TLS?''' @@ -101,11 +101,11 @@ If you plan to use the SSL/TLS feature of James, be sure to stick to the IANA standards. It means, use port 465 instead of 25 for the SSL/TLS-enabled SMTP port number of James. ---- -'''Can I run James in a J2EE application server such as JBoss, WebLogic or Websphere?''' +'''Can I run James in a J2EE application server such as JBoss, !WebLogic or Websphere?''' -You can use the JMXLauncher in Phoenix to start James in any app server that supports JMX, JBoss, WebLogic and WebSphere included. Last time I looked, the JMXLauncher was not available in a released version of Phoenix so if this is still the case you'll need to get the Phoenix sources and compile yourself. +You can use the JMXLauncher in Phoenix to start James in any app server that supports JMX, JBoss, !WebLogic and Websphere included. Last time I looked, the JMXLauncher was not available in a released version of Phoenix so if this is still the case you'll need to get the Phoenix sources and compile yourself. -I have successfully run James in JBoss and WebLogic. +I have successfully run James in JBoss and !WebLogic. ---- '''James and IPv6''' @@ -131,16 +131,18 @@ If your message server is assigned a dynamic IP address, e.g., you are using dial-up, DSL, or cable modem in a DHCP pool, there is every likelihood that your e-mail will be blocked. This is because spammers often use banks of computers attached to DHCP pools to obfuscate their origin. Accordingly, many SMTP servers are being configured to block mail from DHCP pools. Only your ISP's mail server(s) will accept mail sent directly from your dynamic IP address. -So how do you use James to send mail? You configure RemoteDelivery to use the SMTP server provided by your ISP as a gateway: +So how do you use James to send mail? You configure !RemoteDelivery to use the SMTP server provided by your ISP as a gateway: -{{{ <mailet match="All" class="RemoteDelivery"> }}} -{{{ <outgoing> file://var/mail/outgoing/ </outgoing> }}} -{{{ <delayTime> 21600000 </delayTime> }}} -{{{ <maxRetries> 5 </maxRetries> }}} -{{{ <deliveryThreads> 5 </deliveryThreads> }}} -{{{ <gateway>''mail.myISP.com''</gateway> }}} -{{{ <gatewayPort>25</gatewayPort> }}} -{{{ </mailet> }}} +{{{ + <mailet match="All" class="RemoteDelivery"> + <outgoing> file://var/mail/outgoing/ </outgoing> + <delayTime> 21600000 </delayTime> + <maxRetries> 5 </maxRetries> + <deliveryThreads> 5 </deliveryThreads> + <gateway>''mail.myISP.com''</gateway> + <gatewayPort>25</gatewayPort> + </mailet> +}}} Your ISP will accept the e-mail, and others will accept e-mail from your ISP. ---- @@ -159,7 +161,7 @@ A bug in the code prior to v2.2 meant that in some rare cases the outgoing SMTP hello name was not properly detected. ---- -'''I'm getting the following exception: BindException: Address in use: JVM_Bind''' +'''I'm getting the following exception: !BindException: Address in use: JVM_Bind''' Check that you don't have another email server running. One way to check is on that computer (before you try to start James), telnet to ports 25 and 110 and see if you can connect. If you can, then an email server is already running. ---- @@ -174,7 +176,7 @@ '''Nota Bene''': It is a quirk of Connector/J v2 that the maximum size allowed for a JBDC request is only 75% of the value allowed for the max_allowed_packet. ---- -'''I'm getting OutOfMemoryExceptions from large emails.''' +'''I'm getting !OutOfMemoryExceptions from large emails.''' You'll want to increase the heap size of your JVM. The PHOENIX_JVM_OPTS environment variable is used to specify additional options to the JVM. To increase the heap size, for example, you could add -Xmx128m (or larger), e.g.,