我在我的项目中使用spring 3.1,为了发送电子邮件,我使用spring mail。当我尝试发送电子邮件时,我总是得到这个错误:
org.springframework.mail.MailAuthenticationException: Authentication failed; nested exception is javax.mail.AuthenticationFailedException: No authentication mechansims supported by both server and client
我的邮件服务器不需要用户名/密码,根据这个事实,这个错误似乎是正常的。我找不到一种方法来避免在spring mail的org.springframework.mail.javamail.JavaMailSenderImpl类中传递用户名/密码。
我的配置是:
<jee:jndi-lookup id="mailSession" jndi-name="${abc.app.mailSession}" cache="true"/>
<bean id="jndiMailSender" class="com.abc.service.mail.JndiJavaMailService">
<property name="session" ref="mailSession"/>
<property name="defaultEncoding" value="${mail.defaultEncoding}"/>
<property name="username" value="${abc.mail.username}"/>
<property name="password" value="${abc.mail.password}"/>
<property name="mailMasterAdress" value="${abc.mail.mailMasterAdress}"/>
</bean>
Mailserver在weblogic中,它的配置是:
mail.smtp.host10.200.123.135邮件传输协议=smtp
有什么想法吗
9条答案
按热度按时间muk1a3rh1#
使用这些属性:
默认情况下,gmail不允许不太安全的应用程序进行身份验证。您需要在gmail帐户中打开该选项,以允许不太安全的应用程序进行身份验证。
请按照以下步骤操作:
再次尝试运行代码,它应该可以工作。
lmyy7pcs2#
使用以下配置:
并遵循以下程序:
1.登录Gmail。
1.以https://www.google.com/settings/security/lesssecureapps的身份访问URL
1.选择“打开”
zwghvu4y3#
这对我很有效:
豆类配置
其次,您需要打开安全性较低的应用程序的访问权限。
v64noz0r4#
如果您在Gmail帐户中启用了两步验证,则必须首先禁用该功能。请按照以下步骤操作:
1.登录Gmail。
1.转到Gmail安全页面。
1.从那里找到2步验证。打开它。
1.选择“关闭”
设置(使用)以下属性:
现在试试。
k97glaaz5#
这是因为
smtp
不支持身份验证。要解决这个问题,您需要从配置文件中删除用户名和密码。还有像这样的
false
的身份验证,希望这有帮助!!
erhoui1w6#
smdnsysy7#
yduiuuwa8#
在您的EmailConfig类中
lstz6jyr9#
首先,我试图通过在“安全”下的“Google帐户设置”中将“不太安全”选项更改为“开”来解决这个问题,但现在Google不再支持该选项。要解决这个问题,请在Google帐户设置的搜索栏上搜索“应用程序密码”。如果您没有找到“应用程序密码”,请在您的Google帐户上启用“两步验证”。