javaMail отправлять электронную почту через MSExchange - PullRequest
1 голос
/ 02 сентября 2011

У меня есть веб-сайт, который отправляет письма с использованием библиотеки javaMail, , который работает нормально, пока мы не изменили почтовый сервис на MSExchange .

Я перекомпилировал проект, установив новую конфигурацию хоста и протестировав его на своем компьютере, и отлично работал с помощью GlassFish. Затем я попробую его также на тестировании сервера на Glassfish. Когда я внедряю приложение в производство, оно не работает, в журнале не отображаются какие-либо ошибки, есть некоторая разница между средой разработки и тестирования и производством, первым разработчиком и тестированием является сеть 10.226.xxx.xxx и производство 192.168. .xxx.xxx и в производстве у нас есть кот.

Я отправил письмо на рабочий сервер, используя telnet, подключенный к SMTP, и работает нормально.

Я действительно потерял, я не знаю, как (и что) исправить это ...

try {
        Byte newMailStatus = 0;
        SimpleMailMessage msg = new SimpleMailMessage(this.templateMessage);
        msg.setSubject("Hi!");
        msg.setText("xxx");

        try {
            this.mailSender.send(msg);
            newMailStatus = 1;
        } catch (MailException ex) {
            log.error(ex.getMessage());
            newMailStatus = 0;
        }


        ALimitResult result = new ALimiteResult();
        result.setStatus(newMailStatus);

        getModel().put("model", result);

        ModelAndView modelView = new ModelAndView("EmailView", getModel());

        return modelView;
    } catch (Exception e) {
        log.error(e.getMessage());
        return null;
    }

(аутентификация SMTP-сервера отключена)

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="exchange.mydomain.com" />
        <property name="username" value="email@mydomain.com" />
        <property name="password" value="helpme" />
        <property name="javaMailProperties">
            <props>
                <prop key="mail.smtp.auth">false</prop>
            </props>
        </property>
    </bean>

NEW: На рабочем сервере я получаю эту ошибку:

2011-09-07 10: 30: 58,248 ОШИБКА [xxx-myController] - Ошибка аутентификации; вложенное исключение - javax.mail.AuthenticationFailedException: никакие механизмы аутентификации не поддерживаются и сервером, и клиентом

Я сделал «ehlo», чтобы получить методы аутентификации на SMTP-сервере, я получаю это:

  • 250-svrexch.mydomain.com Здравствуйте [192.168.1.10]
  • 250-РАЗМЕР 10485760
  • 250-PIPELINING
  • 250-DSN
  • 250-ENHANCEDSTATUSCODES
  • 250-STARTTLS
  • 250-AUTH
  • 250-8BITMIME
  • 250-BINARYMIME
  • 250-CHUNKING
  • 250-XEXCH50
  • 250 XSHADOW
...