weixin_44318483
weixin_44318483
2019-04-04 12:02
采纳率: 100%
浏览 1.3k
已采纳

使用JavaMail出现的异常

用的是163邮箱,授权已开,在使用JavaMail发邮件,每天开始的几封能正常发送出去,后面会出现以下异常:
图片说明
源码是:

package test.ceshi;

import java.io.File;
import java.io.IOException;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message.RecipientType;
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.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class MailTest {


    public static void main(String[] args) throws AddressException, MessagingException, IOException {
        Properties pro = new Properties();
        pro.put("mail.smtp.host", "smtp.163.com");
        pro.put("mail.smtp.auth", "true");
        //pro.setProperty("mail.smtp.starttls.enable", "true");
        Authenticator auth = new Authenticator() {

            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("用户名", "授权码");
            }

        };

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

        MimeMessage msg = new MimeMessage(session);
        msg.setFrom(new InternetAddress("我的邮箱"));
        msg.setRecipients(RecipientType.TO, "发送给的邮箱");
        msg.setSubject("我自己的邮件");
        msg.setContent("我的邮件正文", "text/html;charset=utf-8");

        Transport.send(msg);
    }

}

上网查了方法把上述注释打开则会出现以下异常:
图片说明

各种方法都试过了还是解决不了,求大神解答,谢谢!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • weixin_36876700
    混沌太初 2019-04-05 09:28
    已采纳

    不用太担心,你的发送的邮件被拦截了,163认为你发送的是垃圾邮件

    点赞 评论
  • jimwangert
    jimwangert 2019-04-04 12:36

    请检查 是否是再超过50封之后发生失败?
    如果是的话,就只是到达了

    无法发送邮件的原因有很多,下面列出了一些常见的原因:
    可能无法发送的原因,请检查是否有下述情况:
    .在发送邮件时,请填写完整、正确的收件人地址(一般电子邮件地址格式为:abc@163.com,不可多出空格或其它特殊字符);
    .附件的大小要在50M以下;
    .群发数量不能超过50个,群发地址之间记得使用半角的分号“;”隔开;
    .检查邮箱是否收到禁用通知的邮件,被禁用的邮箱可正常登录,但不能发送邮件,可到 申请解禁 页面提交申请。 https://feedback.mail.126.com/antispam/complain.php

    以你的情况,我觉得最有可能的是超过50封邮件了。试着确认一下。

    点赞 评论
  • jim_LoveQ
    Jim~LoveQ 2019-04-04 17:04

    看完log,显示是Caused by: Connection closed by remote host
    就是说是连接被远程host关闭了,所以就发送失败了,至于关闭的原因就需要你去排查了。

    点赞 评论

相关推荐