javax.mail开发注册邮箱验证

一、导入maven依赖

<dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.7</version>
        </dependency>

二、创建邮件工具类

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.*;
import java.io.UnsupportedEncodingException;
import java.util.Properties;

public class EmailUtils {

    private static String host = "smtp.163.com";
    private static String username = "*****@163.com";
    private static String password = "*****";
    private static String protocol = "smtp";
    private static boolean debug = true;

    private EmailUtils(){}

    public static void sendEmail(String to, String code) throws MessagingException, UnsupportedEncodingException {
        //连接邮件服务器的参数设置
        Properties properties = new Properties();
        //设置服务器地址
        properties.setProperty("mail.smtp.host",host);
        //设置用户认证方式
        properties.setProperty("mail.smtp.auth","true");
        //设置传输协议
        properties.setProperty("mail.transport.protocol", protocol);
        //创建连接对象,连接到邮箱服务器
        Session session = Session.getDefaultInstance(properties, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }
        
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好!这个错误提示表明在使用javax.mail库进行身份验证时出现了问题,可能是由于身份验证信息不正确或未被服务器接受而导致的。 可能的解决方法包括: 1. 检查您的用户名和密码是否正确,并确保它们与您在邮件服务提供商处的设置相匹配。 2. 确认您的邮箱账号已开启SMTP服务,并且您的邮箱账号已经通过了安全验证。 3. 如果您正在使用的是双重身份验证,请生成并使用应用程序专用密码而不是使用您的常规密码。 4. 如果您正在使用的是代理服务器,请确保代理服务器的身份验证信息也是正确的。 希望这些建议可以帮助您解决问题! ### 回答2: 该异常是JavaMail邮件认证失败异常,错误代码为535,这通常是由于SMTP服务器拒绝了用户的身份验证。这可能发生在几种情况下: 一、SMTP服务器用户名或密码错误。您必须检查SMTP服务器的用户名和密码是否正确,并使用正确的凭据重新尝试身份验证。 二、SMTP服务器需要启用SMTP身份验证。您需要在JavaMail客户端中启用SMTP身份验证功能。您可以通过以下代码启用SMTP身份验证:props.put("mail.smtp.auth", "true"); 三、SMTP服务器对IP或电子邮件发送量有限制。SMTP服务器可能会使用不同的限制,例如基于发送方的IP或电子邮件数量的限制。您需要检查SMTP服务器的发送限制,并确认您未超过任何限制限制。 四、SMTP服务器拒绝了连接。SMTP服务器可能会拒绝连接,因为您的JavaMail客户端与SMTP服务器之间的网络连接中断或存在其他网络问题。您需要确认您的JavaMail客户端可以成功连接到SMTP服务器。 总之,javax.mail.authenticationfailedexception: 535 error: authentication failed异常通常是由SMTP服务器拒绝了您的身份验证引起的。您需要检查SMTP服务器的用户名和密码、启用SMTP身份验证、检查发送限制和确认您的JavaMail客户端可以成功连接到SMTP服务器。 ### 回答3: javax.mail.authenticationfailedexception是JavaMail API中的一个异常,该异常通常在SMTPS协议中出现,表示邮件发送过程中身份验证失败。这种异常通常会在使用邮件客户端时出现。 当JavaMail尝试向SMTP服务器发送电子邮件时,它需要进行身份验证才能成功完成。如果身份验证失败,就会抛出javax.mail.authenticationfailedexception异常,并显示”535 error: authentication failed”的错误消息。 这种身份验证失败的情况通常是由以下原因造成的: 1. 用户名和密码不匹配。在配置SMTP服务器时,确保输入了正确的用户名和密码。 2. SMTP服务器设置错误。确保SMTP服务器地址和端口号是正确的,有些SMTP服务器可能需要使用TLS或SSL加密协议来发送电子邮件。 3. 防火墙或反向代理。如果您的公司使用防火墙或反向代理,可能会造成SMTP服务器无法访问。请联系您的系统管理员来解决此问题。 要解决此错误,您可以尝试以下几种方法: 1. 检查您的用户名和密码是否正确。 2. 在SMTP服务器的配置中添加TLS或SSL协议,并确保端口号正确。 3. 确保您的电子邮件地址和SMTP服务器的电子邮件地址相同。 4. 检查防火墙或反向代理,以确保SMTP服务器可以正常访问。 总之,javax.mail.authenticationfailedexception: 535 error: authentication failed通常是由SMTP协议身份验证失败引起的。要解决此问题,您需要检查您的SMTP服务器设置,并确保输入了正确的用户名和密码。如果仍然无法解决问题,请联系您的系统管理员并与他们合作解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值