java mail发送报错:535 5.7.3 ,这是为啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java mail发送报错:535 5.7.3 ,这是为啥?相关的知识,希望对你有一定的参考价值。

写了一个关于java 邮件发送的小程序,总是报错显示:javax.mail.AuthenticationFailedException: 535 5.7.3 Authentication unsuccessful,为什么会出现这种情况?

1、账号密码错误-解决方法:去邮箱网站登录验证一下,如果有独立密码程序中设置密码为独立密码即可。

2、参数设置错误.如:smtp,pop服务器地址设置有误-解决方法可以到邮箱网站查看具体参数。

3、该邮箱账号没有开通第三方工具收发功能-解决方法以QQ邮箱为例:在官方网页中,打开设置,选择账户,选择POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启 POP3/SMTP服务。

JavaMail发送邮件时常见错误:

1、the server says:550 relaying mail to <> is not allowed 

The server says:550 <>... relaying denied 

the server says:550 5.7.1 relaying not permitted

原因及解决办法:使用某些Smtp服务器时,限制了收件人的地址,只能换一个Smtp服务器。

2、The server says:550 <>:local user only 

The server says:550 <>:Invalid User 

The server says:550 Invalid recipient 

原因及解决办法:使用163.net,163.com,yeah.net和netease.com之类的Smtp服务器时,只能用自身的信箱发信,所以要在Outlook Express的“帐户属性”中的“个人信息”里面填写正确的邮件地址。 

3、the server says:551 delivery not allowed to non-local recipient 

The server says:553 Relay restriction. 

The server says:553 From <>, message blocked. 

The server says:553 sorry,you are not allow to use this SMTP to relay your eami 

The server says:553 sorry, that domain isn't in my list of allowed rcpthosts 

原因及解决办法:使用21cn.com,china.com,371.net,sina.com等大多数信箱的smtp服务器时,只能用自身的信箱发信,所以要在Outlook Express的“帐户属性”中的“个人信息”里面填写正确的邮件地址。 

4、The server says:505 client was not authenticated 

The server says:553 authentication is required to send mail as <> 

原因及解决办法:使用263.net和sohu.com的Smtp服务器时,不但要用自身的邮箱发信,而且要加入身份验证,所以即要在“个人信息”中填写正确邮箱地址,又要选中“SMTP服务器需要认证”。 

5、The server says:553 <>...domain name required 

The server says:550 Unable to relay for ... 

原因及解决办法:用“用户名#POP3地址”的格式,但在“帐户属性”中的“个人信息”中还是要填写一般的格式。 

6、The server says:553 mailbox name not allowed 

原因及解决办法:收件人邮箱地址不允许,需检查收件人地址是否正确。

参考技术A

汽车之家 新车图解]  作为日系豪华品牌的雷克萨斯,凭借ES、RX等车型不俗的表现,在国内销售状况一片大好。而作为旗舰车型的现款LS,由于定价过高、车型老旧等原因,几乎处于无人问津的状态。好在这样的局面或许即将被打破,给人独树一帜感觉的全新LS最近已经到店,并将于1月11日上市。下面就让我们来看看国内版本LS各个等方面的表现吧。

汽车之家 新车图解]  作为日系豪华品牌的雷克萨斯,凭借ES、RX等车型不俗的表现,在国内销售状况一片大好。而作为旗舰车型的现款LS,由于定价过高、车型老旧等原因,几乎处于无人问津的状态。好在这样的局面或许即将被打破,给人独树一帜感觉的全新LS最近已经到店,并将于1月11日上市。下面就让我们来看看国内版本LS各个等方面的表现吧。

java发送邮件的代码

package com.dong.mail;

import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;

public class MailUtils {

    //email:邮件发给谁  subject:主题  emailMsg:邮件的内容
    public static void sendMail(String email, String subject, String emailMsg)
            throws AddressException, MessagingException {
        
        // 1.创建一个程序与邮件服务器会话对象 Session
        Properties props = new Properties();
        props.setProperty("mail.transport.protocol", "SMTP");//发邮件的协议
        props.setProperty("mail.host", "smtp.163.com");//发送邮件的163服务器地址
        props.setProperty("mail.smtp.auth", "true");// 指定验证为true

        // 创建验证器
        Authenticator auth = new Authenticator() {
            public PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("xxx", "mima");//发邮件的账号的验证
            }
        };

        Session session = Session.getInstance(props, auth);

        // 2.创建一个Message,它相当于是邮件内容
        Message message = new MimeMessage(session);

        message.setFrom(new InternetAddress("[email protected]")); // 设置发送者

        message.setRecipient(RecipientType.TO, new InternetAddress(email)); // 设置发送方式与接收者

        message.setSubject(subject);//邮件的主题

        message.setContent(emailMsg, "text/html;charset=utf-8");

        // 3.创建 Transport用于将邮件发送
        Transport.send(message);
    }
}

以上是关于java mail发送报错:535 5.7.3 ,这是为啥?的主要内容,如果未能解决你的问题,请参考以下文章

phpmailer 发送Outlook邮件时535 5.7.3 authentication unsuccessful错误的解决办法

phpmailer 发送Outlook邮件时535 5.7.3 authentication unsuccessful错误的解决办法

全网备份中邮件发送的报错解决-20160926

javax.mail.AuthenticationFailedException: 535 authentication failed

python通过SMTP发送邮件失败,报错505/535

JavaMail发送邮件应添加客户端授权密码而不是登陆密码