使用common-email插件发送邮件失败常见问题

使用163邮箱服务器发送邮件时遇到常见问题,包括SMTP服务未开启、中文乱码及邮件收不到等。解决方法涉及设置SMTP口令、调整字符集,以及应对163的反垃圾机制,如内容审查、邮件服务器白名单设置。若问题持续,可能是网易邮箱反垃圾机制的算法问题,建议切换至其他邮件服务商。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用163邮箱服务器

一个普通邮件的模板如下:

    SimpleEmail email=new SimpleEmail();
    email.setHostName("smtp.163.com");//设置邮箱服务器
    email.setAuthentication("xxx", "密码");//设置用户名和密码
    email.setCharset("UTF-8");//防止中文乱码
    try {
        email.addTo("123456@qq.com");//收件人
        email.setFrom("xxx@163.com");//发件人
        email.setSubject("主题");//邮件主题
        email.setMsg("正文内容");//内容
        email.send();//发送
        } catch (EmailException e) {
            e.printStackTrace();
        }

常见问题:

1.163邮箱的SMTP服务默认关闭,需要设置口令并开启。同时代码中setAuthentication("xxx", "密码");设置用户名和密码中的密码不是邮箱账户密码,而是在邮箱中设置的POP3/SMTP/IMAP口令。

2.中文乱码问题

email.setCharset("UTF-8") 设置主题的字符集为UTF-8 

email.getMimeMessage().setText("测试邮件内容","UTF-8");   设置内容的字符集为UTF-8,需要先email.buildMimeMessage();才能设置内容文本,一般不用设置

3.邮件收不到的相关问题。

  常见的有163服务器退信错误,代码:554 DT:smp 163  退信代码说明详见163服务中心的说明   企业退信的常见问题

这是在做代码测试时很常见的退信错误,主要是由于163的反垃圾机制。

(1)邮件内容的原因:内容上有“测试”或是“test”的不可以,需要把发件的内容全部换成较为正经的内容。

(2)邮件服务端的问题:需要看看具体是哪家邮件服务器,在发送邮件给qq邮箱的时候注意。qq邮箱有反垃圾机制,对于一些发送频繁的邮件可能会被直接送进垃圾箱,实验需要对发送方设置白名单。

可直接设置白名单域smtp.163.com,或是对发送方设置地址白名单xxx@163.com

(3)如果以上方法不能正常解决,有可能发送过于频繁,等待一段时间再继续测试吧。

如果还是不行,emmm.....放弃吧!网易邮箱在554 DT的反垃圾机制的算法怕是出了问题,可能是个神坑!!

可以转用QQ邮箱的服务继续码。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值