If James is configured to run on port 25 on the local server in sakai.properties, viz.:
smtp.port = 25
smtp.enable = true
then outgoing mail is incorrectly handled by James, regardless of a valid smtp server configured in sakai.properties such as:
James does not handle outgoing mail correctly, and ends up delivering a bounce message for each recipient from email@example.com to the user who submitted a message, effectively breaking outgoing mail.
James logs errors such as this for each outgoing message:
01/07/05 15:27:50 WARN spoolmanager.spam: Message Mail1120224470127-30 reached the end of this processor, and is automatically deleted. This may indicate a configuration error.
c/f email from Glenn Golden (last para specifically):
% Date: Thu, 14 Apr 2005 10:10:42 -0400 (EDT)
% From: Glenn R. Golden <firstname.lastname@example.org>
% To: sakai-dev <email@example.com>
% Cc: sakai-dev <firstname.lastname@example.org>
% Subject: Re: james and sakai
% James is not supposed to be handling outgoing email, only incoming.
% The "smtp" setting in your config is to identify the smtp server to
% contact for outgoing email.
% While it's an interesting idea to point at your local James for
% this, this is not something I've ever tried. I recommend you setup
% a valid smtp server that will take mail from your application
% All that said, I have seen James take over outgoing email even when
% so configured with a valid smtp server not localhost, which is
% naughty of it, and not a great idea, because of problems I've seen
% in the way it does this. This is one reason we don't run James on
% port 25 in our environments.
The problem has also been observed at two other sites (reported to sakai-dev and sakai-user, 1 Jul 05).
Either the problem with James intercepting mail should be resolved, or the documentation needs to be revised to indicate that James should never be run on port 25, specifically docs/readme.txt (which includes an example with smtp.port = 25), and docs/sakai.properties.