首页 新闻 会员 周边 捐助

java 163邮箱发送邮件到qq邮箱

0
悬赏园豆:10 [已解决问题] 解决于 2017-05-19 09:05

   有的时候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("邮件主题", "邮件内容", "**********");
    }
}
CXL123的主页 CXL123 | 初学一级 | 园豆:90
提问于:2017-05-17 11:02
< >
分享
最佳答案
0

不仅仅QQ mail可能限制,本身网易也是有限制的,有数量限制,有频率限制。

你要么自己建个邮箱服务器,要么买个企业邮箱。

收获园豆:10
花飘水流兮 | 专家六级 |园豆:13615 | 2017-05-18 19:51
其他回答(1)
0

在QQ邮箱里的设置——反垃圾——设置域名白名单试试

ycyzharry | 园豆:25683 (高人七级) | 2017-05-17 18:39

   这个是可以实现,当是不可能让每一个qq用户去设置自己邮箱。

 

支持(0) 反对(0) CXL123 | 园豆:90 (初学一级) | 2017-05-18 09:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册