我无法使用ovh smtp服务器和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>
详细记录日期:
DEBUG:getProvider()返回javax.mail.Provider [TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]
&gt; DEBUG SMTP:useEhlo true,useAuth true
&gt; DEBUG SMTP:尝试连接到主机“ns0.ovh.net”,端口587,isSSL false
&gt; 220 ns0.ovh.net您连接到mail191 ESMTP
&gt; DEBUG SMTP:连接到主机“ns0.ovh.net”,端口:587
&gt; EHLO Marcello-PC.lan
&gt; 250-ns0.ovh.net您连接到mail191
&gt; 250-AUTH LOGIN PLAIN
&gt; 250-AUTH =登录平面
&gt; 250-STARTTLS
&GT; 250-8BITMIME
&GT; 250 SIZE 109000000
&gt; DEBUG SMTP:找到扩展名“AUTH”,arg“LOGIN PLAIN”
&gt; DEBUG SMTP:找到扩展名“AUTH = LOGIN”,arg“PLAIN”
&gt; DEBUG SMTP:找到扩展名“STARTTLS”,arg“”
&gt; DEBUG SMTP:找到扩展名“8BITMIME”,arg“”
&gt; DEBUG SMTP:找到扩展名“SIZE”,arg“109000000”
&gt; STARTTLS
&GT; 220准备好了tls&gt; EHLO Marcello-PC.lan
&gt; 250-ns0.ovh.net您连接到mail191
&gt; 250-AUTH LOGIN PLAIN
&gt; 250-AUTH =登录平面
&gt; 250-8BITMIME
&GT; 250 SIZE 109000000
&gt; DEBUG SMTP:找到扩展名“AUTH”,arg“LOGIN PLAIN”
&gt; DEBUG SMTP:找到扩展名“AUTH = LOGIN”,arg“PLAIN”
&gt; DEBUG SMTP:找到扩展名“8BITMIME”,arg“”
&gt; DEBUG SMTP:找到扩展名“SIZE”,arg“109000000”
&gt; DEBUG SMTP:尝试使用机制进行身份验证:LOGIN PLAIN DIGEST-MD5 NTLM
&gt; DEBUG SMTP:AUTH LOGIN命令跟踪被抑制
&gt; DEBUG SMTP:AUTH LOGIN成功了&gt; DEBUG SMTP:use8bit false
&gt;邮件来自:
&gt;抱歉,您的信封发件人域必须存在[mail191](#5.7.1)
&gt; DEBUG SMTP:得到回复代码552,回复:552抱歉,您的信封发件人域名必须存在[mail191](#5.7.1)
&gt; RSET
&GT; 250刷新
&gt; DEBUG SMTP:发送时MessagingException,THROW:
&gt; com.sun.mail.smtp.SMTPSendFailedException:552抱歉,您的信封发件人域必须存在[mail191](#5.7.1)
答案 0 :(得分:0)
您的帖子的格式看起来像是在MAIL FROM:行中隐藏了电子邮件地址。您将哪个地址设置为邮件的发件人地址?根据错误消息,它看起来像是使用了不存在的域名。
答案 1 :(得分:0)
您要发送到出站适配器的邮件需要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服务器接受它们。