552 извините, ваш домен отправителя конверта должен существовать (#5.7.1)

Я не могу отправить почту, используя сервер SMTP ovh и интеграцию Spring.

Конфигурация выглядит хорошо для меня, что мне не хватает?

<int-mail:outbound-channel-adapter
    id="myOutboundMailChannelAdapter"
    channel="outboundMailChannel"
    mail-sender="mailSender" />

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <property name="host" value="ns0.ovh.net"/>
    <property name="port" value="587"/>
    <property name="username" value="myUsername"/>
    <property name="password" value="myPass"/>
    <property name="javaMailProperties">
        <props>
            <prop key="mail.transport.protocol">smtp</prop>
            <prop key="mail.smtp.auth">true</prop>
            <prop key="mail.smtp.starttls.enable">true</prop>
            <prop key="mail.debug">true</prop>
        </props>
    </property>
</bean>

следуя подробному журналу:

ОТЛАДКА: getProvider() возвращает javax.mail.Provider [TRANSPORT, smtp, com.sun.mail.smtp.SMTPTransport, Oracle]
> Отладка SMTP: useEhlo true, useAuth true
> Отладка SMTP: пытается подключиться к хосту "ns0.ovh.net", порт 587, isSSL false
> 220 ns0.ovh.net Вы подключаетесь к почте191 ESMTP
> Отладка SMTP: подключен к хосту "ns0.ovh.net", порт: 587
> EHLO Marcello-PC.lan
> 250-ns0.ovh.net Вы подключаетесь к почте191
> 250-AUTH LOGIN PLAIN
> 250-AUTH = ВХОД
> 250-STARTTLS
> 250-8BITMIME
> 250 РАЗМЕР 109000000
> DEBUG SMTP: найдено расширение "AUTH", arg "LOGIN PLAIN"
> Отладка SMTP: найдено расширение "AUTH = LOGIN", arg "PLAIN"
> DEBUG SMTP: найдено расширение "STARTTLS", arg ""
> DEBUG SMTP: найдено расширение "8BITMIME", arg ""
> ОТЛАДКА SMTP: найдено расширение "РАЗМЕР", arg "109000000"
> STARTTLS
> 220 готовы к TLS
> EHLO Marcello-PC.lan
> 250-ns0.ovh.net Вы подключаетесь к почте191
> 250-AUTH LOGIN PLAIN
> 250-AUTH = ВХОД
> 250-8BITMIME
> 250 РАЗМЕР 109000000
> DEBUG SMTP: найдено расширение "AUTH", arg "LOGIN PLAIN"
> Отладка SMTP: найдено расширение "AUTH = LOGIN", arg "PLAIN"
> DEBUG SMTP: найдено расширение "8BITMIME", arg ""
> ОТЛАДКА SMTP: найдено расширение "РАЗМЕР", arg "109000000"
> Отладка SMTP: попытка аутентификации с использованием механизмов: LOGIN PLAIN DIGEST-MD5 NTLM
> Отладка SMTP: трассировка команды AUTH LOGIN подавлена
> Отладка SMTP: AUTH LOGIN успешно завершен
> ОТЛАДКА SMTP: использовать 8 бит false
> ПОЧТА ОТ:
> 552 извините, ваш домен отправителя конвертов должен существовать [mail191] (#5.7.1)
> DEBUG SMTP: получен код ответа 552, с ответом: 552 извините, ваш домен отправителя конверта должен существовать [mail191] (#5.7.1)
> RSET
> 250 м
> Отладка SMTP: MessagingException при отправке, THROW:
> com.sun.mail.smtp.SMTPSendFailedException: 552 извините, ваш домен отправителя конвертов должен существовать [mail191] (#5.7.1)

2 ответа

Сообщение, которое вы отправляете исходящему адаптеру, требует from заголовок. Есть несколько заголовков, которые вы можете настроить...

<int-mail header-enricher input-channel="literalValuesInput">
    <to value="test.to"/>
    <cc value="test.cc"/>
    <bcc value="test.bcc"/>
    <from value="test.from"/>
    <reply-to value="test.reply-to"/>
    <subject value="test.subject"/>
    <attachment-filename value="foo.txt"/>
    <multipart-mode value="1"/>
</header-enricher>

Конечно, адреса электронной почты должны быть в допустимых доменах, чтобы большинство SMTP-серверов могли их принять.

Похоже, что форматирование вашего сообщения скрыло адрес электронной почты в строке MAIL FROM:. Какой адрес вы указали в качестве адреса отправителя своего сообщения? Основываясь на сообщении об ошибке, похоже, что он использует доменное имя, которое не существует.

Другие вопросы по тегам