我正在使用JavaMailSender和Spring发送电子邮件。
我实例化JavaMailSender将其作为邮件bean的属性加载,并将邮件程序bean自动装入我的控制器。
我使用以下属性加载它:
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.gmail.com" />
<property name="port" value="587" />
<property name="username" value="email@email.com" />
<property name="password" value="password" />
<property name="javaMailProperties">
<props>
<prop key="mail.debug">true</prop>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.mime.charset">UTF-8</prop>
<prop key="mail.transport.protocol">smtp</prop>
</props>
</property>
</bean>
<bean id="mailer" class="mz.co.crunchtech.vtchill.utils.Mailer">
<property name="mailSender" ref="mailSender" />
<property name="velocityEngine" ref="velocityEngine"/>
</bean>
我在我的工作线程上传递邮件程序对象,所以每隔一段时间我就会收到以下错误:
线程“taskExecutor-50”中的异常 org.springframework.mail.MailAuthenticationException:身份验证 失败;嵌套异常是javax.mail.AuthenticationFailedException: 454 4.7.0登录尝试次数过多,请稍后再试。 n8sm185296pgd.31 - gsmtp
我去了我的日志,发现了各种LOGIN成功的条目:
[root @ thikiti~] #cat /usr/share/apache-tomcat-7.0.73/logs/catalina.out | grep -i'登录succ'| wc -l 182
有没有办法避免每次发送电子邮件时重新进行身份验证?