Hi there, what exact version you are using? also are you sure the recipients exist at the james server or do you try to deliver the mailmto a remote smtpserver?
bye norman Am Freitag, 14. Oktober 2011 schrieb Garvice Eakins <garviceeak...@gmail.com >: > I am having problems sending SMTP messages from James3.0 using a simple java > application using javamail. > > Here is the example I am using > > public class MailClient > > extends Authenticator{ > > public static final int SHOW_MESSAGES = 1; > > public static final int CLEAR_MESSAGES = 2; > > public static final int SHOW_AND_CLEAR = > > SHOW_MESSAGES + CLEAR_MESSAGES; > > protected String from; > > protected Session session; > > protected PasswordAuthentication authentication; > > > public MailClient(String user, String pass, String host) { > > this(user, pass, host, false); > > } > > public MailClient(String user, String pass, String host, boolean debug){ > > from = user + '@' + host; > > authentication = new PasswordAuthentication(user, pass); > > Properties props = new Properties(); > > props.put("mail.user", user); > > props.put("mail.host", host); > > props.put("mail.debug", debug ? "true" : "false"); > > props.put("mail.store.protocol", "pop3"); > > props.put("mail.transport.protocol", "smtp"); > > //props.put("mail.smtp.auth", "true"); > > session = Session.getInstance(props, this); > > } > > > > public PasswordAuthentication getPasswordAuthentication(){ > > return authentication; > > } > > > > public void sendMessage( > > String to, String subject, String content) > > throws MessagingException > > { > > System.out.println("SENDING message from " + from + " to " + to); > > System.out.println(); > > MimeMessage msg = new MimeMessage(session); > > msg.setFrom(new InternetAddress(from)); > > msg.addRecipients(Message.RecipientType.TO, to); > > msg.setSubject(subject); > > msg.setText(content); > > Transport.send(msg); > > } > > > > public void checkInbox(int mode) > > throws MessagingException, IOException > > { > > if (mode == 0) return; > > boolean show = (mode & SHOW_MESSAGES) > 0; > > boolean clear = (mode & CLEAR_MESSAGES) > 0; > > String action = > > (show ? "Show" : "") + > > (show && clear ? " and " : "") + > > (clear ? "Clear" : ""); > > System.out.println(action + " INBOX for " + from); > > Store store = session.getStore(); > > store.connect(); > > Folder root = store.getDefaultFolder(); > > Folder inbox = root.getFolder("inbox"); > > inbox.open(Folder.READ_WRITE); > > Message[] msgs = inbox.getMessages(); > > if (msgs.length == 0 && show) > > { > > System.out.println("No messages in inbox"); > > } > > for (int i = 0; i < msgs.length; i++) > > { > > MimeMessage msg = (MimeMessage)msgs[i]; > > if (show) > > { > > System.out.println(" From: " + msg.getFrom()[0]); > > System.out.println(" Subject: " + msg.getSubject()); > > System.out.println(" Content: " + msg.getContent()); > > } > > if (clear) > > { > > msg.setFlag(Flags.Flag.DELETED, true); > > } > > } > > inbox.close(true); > > store.close(); > > System.out.println(); > > } > > } > > > public class JamesConfigTest > > { > > public static void main(String[] args) > > throws Exception > > { > > // CREATE CLIENT INSTANCES > > MailClient redClient = new MailClient("r...@smo.tld","red", > "192.168.55.119"); > > MailClient greenClient = new MailClient("gr...@smo.tld", "green", > "192.168.55.119"); > > MailClient blueClient = new MailClient("b...@smo.tld","blue", > "192.168.55.119"); > > > > // CLEAR EVERYBODY'S INBOX > > redClient.checkInbox(MailClient.CLEAR_MESSAGES); > > greenClient.checkInbox(MailClient.CLEAR_MESSAGES); > > blueClient.checkInbox(MailClient.CLEAR_MESSAGES); > > Thread.sleep(500); // Let the server catch up > > > > // SEND A COUPLE OF MESSAGES TO BLUE (FROM RED AND GREEN) > > //redClient.getPasswordAuthentication(); > > redClient.sendMessage( > > "garvi...@h5sw.com", > > "Testing blue from red", > > "This is a test message"); > > //greenClient.getPasswordAuthentication(); > > greenClient.sendMessage( > > "b...@smo.tld", > > "Testing blue from green", > > "This is a test message"); > > Thread.sleep(500); // Let the server catch up > > > > // LIST MESSAGES FOR BLUE (EXPECT MESSAGES FROM RED AND GREEN) > > blueClient.checkInbox(MailClient.SHOW_AND_CLEAR); > > } > > } > > > Here is the output from the console > > Exception in thread "main" javax.mail.SendFailedException: Invalid > Addresses; > > nested exception is: > > com.sun.mail.smtp.SMTPAddressFailedException: 530 5.7.1 Authentication > Required > > > at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1835) > > at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1098) > > at javax.mail.Transport.send0(Transport.java:195) > > at javax.mail.Transport.send(Transport.java:124) > > at MailClient.sendMessage(MailClient.java:55) > > at JamesConfigTest.main(JamesConfigTest.java:20) > > Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 530 5.7.1 > Authentication Required > > > at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1733) > > ... 5 more > > Here is the output in the JamesServer.log: > > INFO 13:38:51,436 | james.smtpserver | ID=128768368 Connection established > from Garvice-MacBook.local (192.168.55.116) > > INFO 13:38:51,477 | james.smtpserver | ID=128768368 > org.apache.james.smtpserver.AuthRequiredToRelayRcptHook: result=2 (DENY) > > INFO 13:38:51,479 | james.smtpserver | ID=128768368 > org.apache.james.smtpserver.JamesRcptCmdHandler: 530 [5.7.1 Authentication > Required] > > INFO 13:38:51,496 | james.smtpserver | ID=128768368 Connection closed for > Garvice-MacBook.local (192.168.55.116) > > > Here is the SMTP: > > INFO 13:38:51,436 | james.smtpserver | ID=128768368 Connection established > from Garvice-MacBook.local (192.168.55.116) > > INFO 13:38:51,477 | james.smtpserver | ID=128768368 > org.apache.james.smtpserver.AuthRequiredToRelayRcptHook: result=2 (DENY) > > INFO 13:38:51,479 | james.smtpserver | ID=128768368 > org.apache.james.smtpserver.JamesRcptCmdHandler: 530 [5.7.1 Authentication > Required] > > INFO 13:38:51,496 | james.smtpserver | ID=128768368 Connection closed for > Garvice-MacBook.local (192.168.55.116) > > > If I uncomment the line //props.put("mail.smtp.auth", "true"); > > I get this error message: > > Exception in thread "main" javax.mail.SendFailedException: Invalid > Addresses; > > nested exception is: > > com.sun.mail.smtp.SMTPAddressFailedException: 503 5.7.1 Incorrect > Authentication for Specified Email Address > > > at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1835) > > at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1098) > > at javax.mail.Transport.send0(Transport.java:195) > > at javax.mail.Transport.send(Transport.java:124) > > at MailClient.sendMessage(MailClient.java:55) > > at JamesConfigTest.main(JamesConfigTest.java:20) > > Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 503 5.7.1 Incorrect > Authentication for Specified Email Address > > > at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1686) > > ... 5 more > > > With these Logfiles: > > SMTPServer.log > > INFO 13:38:37,155 | james.smtpserver | ID=192071567 Connection established > from Garvice-MacBook.local (192.168.55.116) > > INFO 13:38:37,221 | james.smtpserver | ID=192071567 > org.apache.james.smtpserver.SenderAuthIdentifyVerificationRcptHook: result=2 > (DENY) > > INFO 13:38:37,223 | james.smtpserver | ID=192071567 > org.apache.james.smtpserver.JamesRcptCmdHandler: 503 [5.7.1 Incorrect > Authentication for Specified Email Address] > > INFO 13:38:37,248 | james.smtpserver | ID=192071567 Connection closed for > Garvice-MacBook.local (192.168.55.116) > > James-Server.log > > INFO 13:38:37,155 | james.smtpserver | ID=192071567 Connection established > from Garvice-MacBook.local (192.168.55.116) > > INFO 13:38:37,221 | james.smtpserver | ID=192071567 > org.apache.james.smtpserver.SenderAuthIdentifyVerificationRcptHook: result=2 > (DENY) > > INFO 13:38:37,223 | james.smtpserver | ID=192071567 > org.apache.james.smtpserver.JamesRcptCmdHandler: 503 [5.7.1 Incorrect > Authentication for Specified Email Address] > > INFO 13:38:37,248 | james.smtpserver | ID=192071567 Connection closed for > Garvice-MacBook.local (192.168.55.116) > > > Any help with this would be great. I'm not really sure what I"m doing wrong. > I don't know if it's a setting in james or a property I need to set in > JavaMail for the Transport. > > Also here is the SMTPServer.xml file > > <smtpserver enabled="true"> > > <bind>0.0.0.0:25</bind> > > <connectionBacklog>200</connectionBacklog> > > <tls socketTLS="false" startTLS="false"> > > </tls> > > <connectiontimeout>360</connectiontimeout> > > <connectionLimit> 0 </connectionLimit> > > <connectionLimitPerIP> 0 </connectionLimitPerIP> > > <authorizedAddresses>127.0.0.0/8</authorizedAddresses> > > <authRequired>false</authRequired> > > <verifyIdentity>false</verifyIdentity> > > <maxmessagesize>0</maxmessagesize> > > <addressBracketsEnforcement>true</addressBracketsEnforcement> > > <handlerchain enableJmx="true"> > > <handler class="org.apache.james.smtpserver.fastfail.ValidRcptHandler"/> > > <handler class="org.apache.james.smtpserver.CoreCmdHandlerLoader"/> > > > </handlerchain> > > </smtpserver> >