我使用Spring 3.1.0使用JavaMailSenderImpl类发送电子邮件。 这是我的Spring config xml
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="your.mail.server"/>
<property name="port" value="25"/>
<property name="protocol" value="smtp"/>
<property name="username" value=""/>
<property name="password" value=""/>
<property name="defaultEncoding" value="UTF-8"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.connectiontimeout">5000</prop>
<prop key="mail.smtp.sendpartial">true</prop>
<prop key="mail.smtp.userset">true</prop>
<prop key="mail.mime.charset">UTF-8</prop>
<prop key="mail.smtp.isSecure">false</prop>
<prop key="mail.smtp.requiresAuthentication">true</prop>
<prop key="mail.smtp.port">25</prop>
<prop key="mail.smtp.starttls.enable">false</prop>
<prop key="mail.debug">true</prop>
</props>
</property>
</bean>
说实话,我不知道我从哪里得到了这些,可能是我从教程中得到的一些示例代码。
我想关闭SMTP身份验证,我可以从JavaMail docs看到我需要将 mail.smtp.auth 属性设置为false。但是在我的配置xml中,我还设置了一个名为 mail.smtp.requiresAuthentication 的属性,该名称似乎同样相关,但我无法在JavaMail或Spring文档中找到对它的任何引用。然而,谷歌确实发现了很多使用它的例子。
实际需要 mail.smtp.requiresAuthentication ,如果是,它会做什么?它可能是一个被弃用的,甚至是虚假的财产吗?
答案 0 :(得分:0)
在剪切和粘贴之前,你真的应该理解代码......
JavaMail中没有mail.smtp.requiresAuthentication属性。
我对Spring如何使用JavaMail一无所知,但在JavaMail中如果您不想进行身份验证,请不要调用提供用户名和密码的connect方法,或者将用户名和密码传递为null mail.smtp.auth设置为false。如果你使用username或password调用connect not null,则mail.smtp.auth设置为什么并不重要。