如何配置GlassFish以向Exim发送电子邮件(需要550身份验证)?

时间:2012-03-10 18:28:25

标签: javamail glassfish-3

我在GlassFish 3.1.1中配置JavaMail会话以向Exim 4.76邮件服务器发送电子邮件时遇到问题。 GlassFish和Exim都在同一个CentOS服务器上运行。

这是我在GlassFish中的JavaMail会话配置:

JNDI Name: mail/mailSession
Mail Host: localhost
Default User: glassfish
Default Sender Address: glassfish@mycompany.com
Status: Enabled is checked
Store Protocol: IMAP
Store Protocol Class: com.sun.mail.imap.IMAPStore
Transport Protocol: SMTP
Transport Protocol Class: com.sun.mail.smtp.SMTPTransport

以下是GlassFish服务器日志的例外情况:

javax.mail.SendFailedException: Invalid Addresses;
nested exception is:
    com.sun.mail.smtp.SMTPAddressFailedException: 550 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)

在启动GlassFish的同一个Unix用户帐户中,我可以使用以下命令发送电子邮件:

$ exim -v -odf dummy@gmail.com
This is a test message from server.
.

所以我假设我的Exim邮件服务器运行正常,但是我的GlassFish?

知道可能出现什么问题?

1 个答案:

答案 0 :(得分:0)

您需要将会话配置为使用SMTP身份验证。见this FAQ entry。您可以在GlassFish中配置邮件会话时设置会话属性,并且在连接到服务器时需要提供用户名和密码。