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



我在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?

你知道问题出在哪里吗?

您需要将会话配置为使用SMTP身份验证。请参阅此常见问题条目。您可以在GlassFish中配置邮件会话时设置会话属性,并且在连接到服务器时需要提供用户名和密码。

相关内容

最新更新