Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java I';我很难在远程服务器上发送电子邮件,但它';它在本地工作,在远程服务器上运行它的抛出';认证失败异常';_Java_Spring_Spring Mvc_Jakarta Mail_Smtp Auth - Fatal编程技术网

Java I';我很难在远程服务器上发送电子邮件,但它';它在本地工作,在远程服务器上运行它的抛出';认证失败异常';

Java I';我很难在远程服务器上发送电子邮件,但它';它在本地工作,在远程服务器上运行它的抛出';认证失败异常';,java,spring,spring-mvc,jakarta-mail,smtp-auth,Java,Spring,Spring Mvc,Jakarta Mail,Smtp Auth,这是我的配置文件。 在同一时间,我启用了不太安全的应用程序是真的在接收方电子邮件也。 我使用587 smpt.gmail.com端口,因为我只使用HTTP而不是HTTPS。在本地服务器中,即使收件人邮件也有两步验证,邮件正在发送,但到了远程服务器,我得到的是身份验证失败异常。我也尝试了这么多的代码更改,但仍然无法重新解决这个问题。我不知道问题出在哪里 Config.xml: <bean id="mailSender" class="org.springframework.mail.java

这是我的配置文件。 在同一时间,我启用了不太安全的应用程序是真的在接收方电子邮件也。 我使用587 smpt.gmail.com端口,因为我只使用HTTP而不是HTTPS。在本地服务器中,即使收件人邮件也有两步验证,邮件正在发送,但到了远程服务器,我得到的是
身份验证失败异常
。我也尝试了这么多的代码更改,但仍然无法重新解决这个问题。我不知道问题出在哪里

Config.xml

<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="abc@gmail.com"/>
    <property name="password" value="xxxxxx"/>
    <property name="javaMailProperties">
        <props>
            <prop key="mail.transport.protocol">smtp</prop>
            <prop key="mail.smtp.auth">true</prop>
            <prop key="mail.smtp.starttls.enable">true</prop>
        </props>
    </property>
</bean>

<bean id="emailSession" class="javax.mail.Session" factory-method="getInstance">
    <constructor-arg index="0">
        <props>
            <prop key="mail.smtp.user">abc@gmail.com</prop>
            <prop key="mail.smtp.host">smtp.gmail.com</prop>
            <prop key="mail.smtp.port">587</prop>
            <prop key="mail.smtp.starttls.enable">true</prop>
            <prop key="mail.smtp.auth">true</prop>
            <prop key="mail.smtp.debug">true</prop>
            <prop key="mail.transport.protocol">smtp</prop>
        </props>
    </constructor-arg>
    <constructor-arg index="1">
        <bean id="emailAuthenticator" class="com.user.service.EmailSMTPAuthenticator">
            <property name="username" value="abc@gmail.com"></property>
            <property name="password" value="xxxxxx"></property>
        </bean>
    </constructor-arg>
</bean>
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <property name="host" value="smtp.gmail.com"></property>
    <property name="session" ref="emailSession"></property>
</bean>
import javax.mail.Message;
import javax.mail.internet.MimeMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;

@Service
public class EmailService {
    @Autowired
    private  JavaMailSender mailSender;

    public void sendEmail(String from,String to,String subject,String message){
        try {
            MimeMessage mimeMessage=mailSender.createMimeMessage(); 
            mimeMessage.addRecipients(Message.RecipientType.TO, to);
            mimeMessage.setSubject(subject);
            mimeMessage.setContent(message, "text/html");   
            mailSender.send(mimeMessage);
        }
        catch(Exception e) {
            e.printStackTrace();
        }

    }

}

授权码不是密码


这场演出展示了什么?