Java 无法使用log4j SMTP Appender发送电子邮件。获得;SMTPSendFailedException:530 5.7.1需要身份验证;
请参阅下面我的log4j.xml文件Java 无法使用log4j SMTP Appender发送电子邮件。获得;SMTPSendFailedException:530 5.7.1需要身份验证;,java,email,logging,log4j,Java,Email,Logging,Log4j,请参阅下面我的log4j.xml文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="email" class="org.apache.log4
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="email" class="org.apache.log4j.net.SMTPAppender">
<param name="BufferSize" value="1" />
<param name="SMTPHost" value="smtp.mail.yahoo.com" />
<param name="SMTPPort" value="587" />
<param name="SMTPUsername" value="email@yahoo.in" />
<param name="SMTPPassword" value="password" />
<param name="From" value="email@yahoo.in" />
<param name="To" value="email@gmail.com" />
<param name="Subject" value="Error Log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[${name}] - %d{ISO8601} - %X{login} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="error" />
<param name="LevelMax" value="fatal" />
</filter>
</appender>
<root>
<level value="info" />
<appender-ref ref="email" />
</root>
</log4j:configuration>
非常感谢您的帮助 在smtp appender配置中添加以下内容,并使用log4j版本1.2.17将端口更改为465
<param name="SMTPProtocol" value="smtps" />
将javax.mail升级到1.4.7对我来说很有用
compile('javax.mail:mail:1.4.7')
谢谢施的回复。但在添加建议的配置后,我收到了相同的错误。log4j:发送电子邮件通知时出错。com.sun.mail.smtp.SMTPSendFailedException:530 5.7.1需要在com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2108)上进行身份验证,在com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1117)上进行一些改进。但发现以下异常。log4j:发送电子邮件通知时出错。javax.mail.MessagineException:无法连接到SMTP主机:SMTP.mail.yahoo.com,端口:587;嵌套异常为:java.net.SocketException:连接重置检查端口465
compile('javax.mail:mail:1.4.7')