Java mail 邮箱发送

2 篇文章 0 订阅

            这几天做一个服务器的监测,发送邮件。由于新申请了两个163邮箱账号,用于测试,总是提示不被授权。报出以下错误:

 avax.mail.AuthenticationFailedException,经过网上查找很多资料,都不能实际解决问题。自己使用以前(通过手机验证)申请经过验证后的邮箱,就可以发送到邮箱。

       最终的原因是:以下两种

            1.. 先用OutLook测试一下看能否进行正常的收发邮件.是否是from的email地址和Authenticator类中验证的用户名和密码是否正确,要不也会出错.

System.out.println("发送邮箱:"+fromEmail);
System.out.println("接收邮箱:"+toEmail);
System.out.println("163邮箱登录名:"+emailName);
System.out.println("密码:"+emailPassword);
System.out.println("发送原因:"+title); System.out.println("发送内容:"+centent);
     
Properties properties = new Properties();// 创建Properties对象
properties.setProperty("mail.transport.protocol", "smtp");// 设置传输协议
properties.put("mail.smtp.host", "smtp.163.com");// 设置发信邮箱的smtp地址
properties.setProperty("mail.smtp.auth", "true"); // 验证
//使用验证,创建一个Authenticator
Authenticator auth = new AjavaAuthenticator(emailName,
emailPassword); 
//根据Properties,Authenticator创建Session
Session session = Session.getDefaultInstance(properties, auth);
Message message = new MimeMessage(session);// Message存储发送的电子邮件信息
message.setFrom(new InternetAddress(fromEmail));
message.setRecipient(Message.RecipientType.TO, new InternetAddress(
toEmail));// 设置收信邮箱
// 指定邮箱内容及ContentType和编码方式
message.setContent(centent, "text/html;charset=utf-8");
message.setSubject(title);// 设置主题
message.setSentDate(new Date());// 设置发信时间
Transport.send(message);


            2.  在用户名和密码都没有问题的情况下,如果代码抛出javax.mail.AuthenticationFailedException异常,

               如果是新注册的话,邮件的服务商默认刚注册的帐号是不能使用pop3的。

             例如163.com在我进行代码测试时,刚刚注册的帐号是没有权限使用该功能的,所以就会抛出上述的异常。

    


          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值