打印的日志为: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的邮件是发送失败的。