不用打开网页,直接指定发信人,收信人,附件,再发送就行。

解决方案 »

  1.   

    public void senderMessage() { try {
    Properties props = System.getProperties(); // 用你所用的邮箱参数来设置Properties
    props.put("mail.smtp.host", "smtp.163.com");
    props.put("mail.smtp.auth", "true"); props.setProperty("mail.smtp.port", "25");
    Session session = Session.getDefaultInstance(props, null);
    session.setDebug(true); // 创建一个Message
    Message msg = new MimeMessage(session); // 初始化发件人和收件人
    msg.setFrom(new InternetAddress("[email protected]"));
    msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(
    "[email protected]", false)); // 设置邮件标题和内容
    msg.setSubject("测试标题");
    Multipart multipart = new MimeMultipart();
    BodyPart contentPart = new MimeBodyPart();
    contentPart.setText("测试内容!");
    multipart.addBodyPart(contentPart);
    msg.setContent(multipart); // 设置其它一些信息
    msg.setHeader("X-Mailer", "LOTONtechEmail");
    msg.setSentDate(new Date()); // 添加三个附件,当然也可以更多
    // 这里你可以考虑一下,做个循环,我就不写了,直接复制了一下
    // multipart.addBodyPart(BodyPart bp)方法自动将些附件添加在最后,也可以
    // 写成multipart.addBodyPart(BodyPart bp,int index),它可以让把此附件插入在index位置
    // 如下第三个附件注释掉的那句 String a = "D:/a.gif";
    BodyPart Parta = new MimeBodyPart();
    DataSource sourcea = new FileDataSource(a);
    Parta.setDataHandler(new DataHandler(sourcea));
    Parta.setFileName("a.gif");
    multipart.addBodyPart(Parta); String b = "D:/b.gif";
    BodyPart Partb = new MimeBodyPart();
    DataSource sourceb = new FileDataSource(b);
    Partb.setDataHandler(new DataHandler(sourceb));
    Partb.setFileName("b.gif");
    multipart.addBodyPart(Partb); String c = "D:/c.gif";
    BodyPart Partc = new MimeBodyPart();
    DataSource sourcec = new FileDataSource(c);
    Partc.setDataHandler(new DataHandler(sourcec));
    Partc.setFileName("c.gif");
    multipart.addBodyPart(Partc);
    // multipart.addBodyPart(Partc,2);//这样c.gif就在b.gif之前
    // ---添加附件完毕--- // 发送邮件
    msg.saveChanges();
    Transport transport = session.getTransport("smtp");
    transport.connect("smtp.163.com", "[email protected]", "password");
    transport.sendMessage(msg, msg.getAllRecipients());
    transport.close(); System.out.println("Message sent OK.");
    } catch (Exception ex) {
    ex.printStackTrace();
    }
    }