Java 无法使用log4j SMTP Appender发送电子邮件。获得;SMTPSendFailedException:530 5.7.1需要身份验证;

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

请参阅下面我的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.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')