有的时候qq邮箱可以收到邮件,当是大部分时候qq邮箱都收不到邮件.这个是在博客园看到,自己模拟写的demo,求大神指教,为什么qq邮箱大部分时候收不到邮件。
import java.io.IOException; import java.io.InputStream; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeUtility; public class mail { private Session session; private Transport transport; private MimeMessage message; private String mailHost = ""; private String sender_username = ""; private String sender_password = ""; private Properties properties = new Properties(); public mail() { InputStream in = this.getClass().getClassLoader().getResourceAsStream("aa.properties"); try { properties.load(in); this.mailHost = properties.getProperty("mail.smtp.host"); this.sender_username = properties.getProperty("mail.sender.username"); this.sender_password = properties.getProperty("mail.sender.password"); } catch (IOException e) { e.printStackTrace(); } session = Session.getInstance(properties); session.setDebug(true);//开启后有调试信息 message = new MimeMessage(session); } public void doSendHtmlEmail(String subject, String sendHtml, String receiveUser) { try { // 发件人 //InternetAddress from = new InternetAddress(sender_username); // 下面这个是设置发送人的Nick name InternetAddress from = new InternetAddress(MimeUtility.encodeWord("幻影5555")+" <"+sender_username+">"); message.setFrom(from); // 收件人 InternetAddress to = new InternetAddress(receiveUser); message.setRecipient(Message.RecipientType.TO, to);//还可以有CC、BCC // 邮件主题 message.setSubject(subject); String content = sendHtml.toString(); // 邮件内容,也可以使纯文本"text/plain" message.setContent(content, "text/html;charset=UTF-8"); // 保存邮件 message.saveChanges(); transport = session.getTransport("smtp"); // smtp验证,就是你用来发邮件的邮箱用户名密码 transport.connect(mailHost, sender_username, sender_password); // 发送 transport.sendMessage(message, message.getAllRecipients()); System.out.println("send success!"); } catch (Exception e) { e.printStackTrace(); }finally { if(transport!=null){ try { transport.close(); } catch (MessagingException e) { e.printStackTrace(); } } } } public static void main(String[] args) { mail m=new mail(); m.doSendHtmlEmail("邮件主题", "邮件内容", "**********"); } }
不仅仅QQ mail可能限制,本身网易也是有限制的,有数量限制,有频率限制。
你要么自己建个邮箱服务器,要么买个企业邮箱。
在QQ邮箱里的设置——反垃圾——设置域名白名单试试
这个是可以实现,当是不可能让每一个qq用户去设置自己邮箱。