使用javamail新浪邮箱发送遇到的问题(已解决)

使用JavaMail发送邮件时遇到新浪邮箱发送失败的问题,虽然日志显示250 OK,但实际邮件并未发送成功。问题在于缺少邮件主题,添加主题后邮件发送成功。

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

打印的日志为:250 ok queue id 361458395651

同一段代码163邮箱发送成功了,新浪貌似是发送成功了,其实还是发送失败的邮件,原代码如下

Properties props = new Properties();
		props.setProperty("mail.transport.protocol", "smtp");
		props.put("mail.smtp.auth", "true");
		
		// 这是一个继承了Authenticator抽象类的实现类,这是另外一种验证密码的方式
		//Authenticator authenticator = new MailAuthenticator("w_c_xxx@sina.com", "password");
//		Session session = Session.getInstance(props,authenticator);
		Session session = Session.getInstance(props);
		// 这里设置可以查看打印日志
		session.setDebug(true);
		
		Message message = new MimeMessage(session);
		// 新浪发送邮件必须要有主题哦,否则永远无法发送成功!
		//message.setSubject("打个招呼哦22");
		message.setText("你好啊!");
		// 现在这里发送人必须与认证人一致,否则报错
		message.setFrom(new InternetAddress("w_c_xxx@sina.com"));
		//message.setRecipient(RecipientType.TO, new InternetAddress("w_c_xxx@163.com"));
		
		//Transport.send(message);
		Transport transport = session.getTransport();
		transport.connect("smtp.sina.com", 25, "w_c_xxx@sina.com", "xxxxpassword");
		transport.sendMessage(message, new Address[]{new InternetAddress("接收人邮箱@163.com")});
		transport.close();


实际上上面的注解上也写了,使用javamail用新浪mail发送邮件的时候必须加上主题,否则无法发送成功,甚至没有记录。

后面将主题注解打开后发送成功返回的结果为:250 ok queue id 43710132099

可以看到,其实这种情况发送结果失败或成功都是一样的,而实际上是没有subject的邮件是发送失败的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值