QQ邮箱多线程测试发邮件不能使用单元测试 错误021

这篇博客探讨了在使用单元测试发送邮件时遇到的问题,即只有连接和断开日志,而缺少邮件发送的具体日志。作者通过将代码放入main函数中运行解决了问题,可能是由于JUnit测试时端口冲突导致。博客内容涉及JavaMail API的使用,SMTP服务器配置及邮件发送过程。
摘要由CSDN通过智能技术生成

这是正常发送邮件的日志信息
第一行和最后一行分别是连接和断开连接的日志信息

Connected to the target VM, address: '127.0.0.1:62445', transport: 'socket'
DEBUG: JavaMail version 1.4.4
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
DEBUG: Tables of loaded providers
DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]}
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.qq.com", port 465, isSSL true
220 newxmesmtplogicsvrsza7.qq.com XMail Esmtp QQ Mail Server.
DEBUG SMTP: connected to host "smtp.qq.com", port: 465

EHLO DESKTOP-BOMFV0O
250-newxmesmtplogicsvrsza7.qq.com
250-PIPELINING
250-SIZE 73400320
250-AUTH LOGIN PLAIN XOAUTH XOAUTH2
250-AUTH=LOGIN
250-MAILCOMPRESS
250 8BITMIME
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "SIZE", arg "73400320"
DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN XOAUTH XOAUTH2"
DEBUG SMTP: Found extension "AUTH=LOGIN", arg ""
DEBUG SMTP: Found extension "MAILCOMPRESS", arg ""
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Attempt to authenticate
DEBUG SMTP: check mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM 
AUTH LOGIN
334 VXNlcm5hbWU6
Mjc3NzQ1MTE1NEBxcS5jb20=
334 UGFzc3dvcmQ6
em5jeGl6eWJuYWFsZGZmZw==
235 Authentication successful
DEBUG SMTP: use8bit false
MAIL FROM:<2777xxxxx@qq.com>
250 OK.
RCPT TO:<109xxxx@qq.com>
250 OK
DEBUG SMTP: Verified Addresses
DEBUG SMTP:   1092xxxxx@qq.com
DATA
354 End data with <CR><LF>.<CR><LF>.
From: 27774xxxxxx@qq.com
To: 10924xxxx@qq.com
Message-ID: <1877940706.0.1617538523789.JavaMail.Mark@DESKTOP-BOMFV0O>
Subject: =?UTF-8?B?5YaN5p2l5LiA5Liq6YKu5Lu2?=
MIME-Version: 1.0
Content-Type: text/html;charset=utf-8
Content-Transfer-Encoding: quoted-printable

<a href=3D'https://www.baidu.com/'>=E6=B5=8B=E8=AF=95</a>
.
250 OK: queued as.
QUIT
221 Bye.
Disconnected from the target VM, address: '127.0.0.1:62445', transport: 'socket'

问题部分
这里使用到了单元测试,但是运行过之后只显示连接和断开的日志,没有打印发送日志更不用说发邮件了。

 @Test
    public void fayoujian() throws Exception{
        String aimaddress = "1092xxxx@qq.com";
        String title = "再来一个邮件";
        String mtext = "<a href='https://www.baidu.com/'>测试</a>";
        new Thread(){
            @Override
            public void run() {
                super.run();
                try {
                    SendQQMailUtil.Mailer(aimaddress,title,mtext);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }.start();
    }

解决办法
也不知道哪里来的灵感,把这个代码放到main函数中运行就ok了,出现问题可能是因为junit单元测试随机的端口和main函数端口和qq邮箱的占用了--------------这里纯属个人见解,如果大神知道希望可以评论指点一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值