2012-03-10 2 views
0

У меня возникла проблема настройки сеанса JavaMail в GlassFish 3.1.1 для отправки электронной почты на почтовый сервер Exim 4.76. Оба GlassFish и Exim работают на одном сервере CentOS.Как настроить GlassFish для отправки электронной почты в Exim (требуется проверка подлинности 550)?

Вот мой JavaMail конфигурации сеанса в GlassFish:

JNDI Name: mail/mailSession 
Mail Host: localhost 
Default User: glassfish 
Default Sender Address: [email protected] 
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) 

В той же учетной записи пользователя Unix, на котором запущен GlassFish, я м, можно отправить по электронной почте, используя следующую команду:

$ exim -v -odf [email protected] 
This is a test message from server. 
. 

Поэтому я предполагаю, что m y Исправленный почтовый сервер работает правильно, но мой GlassFish?

Любая идея о том, что может быть проблемой?

ответ

0

Вам необходимо настроить сеанс на использование аутентификации SMTP. См. this FAQ entry. Вы можете установить свойства сеанса при настройке почтового сеанса в GlassFish, и вам нужно будет указать имя пользователя и пароль при подключении к серверу.