刚才正好写了一个163的例子,正好用上.
import java.util.Properties;import java.util.Date;import javax.mail.*;import javax.mail.internet.*;import javax.activation.*;
public class Test7 {
/*** @param args*/public static void main(String[] args) throws Exception {sendhtml(args);}
public static void sendhtml(String[] argv) throws Exception {
String to = "XX@XX.XX",subject = "null",from = "XXX@163.com",cc = null,bcc = null;String mailhost = "smtp.163.com";String username = "XXX";String password = "XXX";
boolean debug = false;Properties props = System.getProperties();props.put("mail.smtp.auth", "true");SMTPAuth auth = new SMTPAuth(username, password);
if (mailhost != null)props.put("mail.smtp.host", mailhost);
// Get a Session objectSession session = Session.getDefaultInstance(props, auth);if (debug)session.setDebug(true);
// construct the messageMessage msg = new MimeMessage(session);if (from != null)msg.setFrom(new InternetAddress(from));elsemsg.setFrom();
msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to, false));if (cc != null)msg.setRecipients(Message.RecipientType.CC,InternetAddress.parse(cc, false));if (bcc != null)msg.setRecipients(Message.RecipientType.BCC,InternetAddress.parse(bcc, false));
subject = new Date().toLocaleString();msg.setSubject(subject);
MimeBodyPart mbp1 = new MimeBodyPart();String html ="<!DOCTYPE HTML PUBLIC /"-//W3C//DTD HTML 4.0 Transitional//EN/">"+ "<html>"+ "<head><title></title></head>"+ "<body>"+ "<b> see the following jpg : it is a car!</b><br/>"+ "<a href=http://www.a.com/a.jsp>hello</a><br/>"+ "<IMG src=cid:7e2a34e1.jpg><br/>"+ "<b> end of jpg</b>"+ "</body>"+ "</html>";
mbp1.setContent(html, "text/html");
FileDataSource fds = new FileDataSource("c:/7e2a34e1.jpg");MimeBodyPart mbp2 = new MimeBodyPart();
mbp2.setFileName(fds.getName());mbp2.setText("This is a beautiful car !");mbp2.setDataHandler(new DataHandler(fds));mbp2.setHeader("Content-ID", "<" + fds.getName() + ">");mbp2.setDisposition(null);
MimeMultipart mp = new MimeMultipart("related"); //alternativemp.addBodyPart(mbp1);mp.addBodyPart(mbp2);msg.setContent(mp);
msg.setSentDate(new Date());Transport.send(msg);System.out.println(mp.getCount());System.out.println("/nMail was sent successfully.");
}
}class SMTPAuth extends javax.mail.Authenticator {private String user, password;public SMTPAuth(String u, String p) {user = u;password = p;}public void getuserinfo(String getuser, String getpassword) {user = getuser;password = getpassword;}protected javax.mail.PasswordAuthentication getPasswordAuthentication() {return new javax.mail.PasswordAuthentication(user, password);}}=====================================================================
看到你是用21CN.com信箱发送的,我就改了一下我的程序.给你我刚才测试通过的程序.密码没有加密过.
import java.util.Properties;import java.util.Date;import javax.mail.*;import javax.mail.internet.*;import javax.activation.*;public class Test7 {
public static void main(String[] args) throws Exception {sendhtml(args);}
public static void sendhtml(String[] argv) throws Exception {
String to = "zhouxy@teklink.net",subject = "null",from = "XX@21cn.com",cc = null,bcc = null;String mailhost = "smtp.21cn.com";String username = "XX";String password = "XX";
boolean debug = false;Properties props = System.getProperties();props.put("mail.smtp.auth", "true");SMTPAuth auth = new SMTPAuth(username, password);if (mailhost != null)props.put("mail.smtp.host", mailhost);
// Get a Session objectSession session = Session.getDefaultInstance(props, auth);if (debug)session.setDebug(true);
// construct the messageMessage msg = new MimeMessage(session);if (from != null)msg.setFrom(new InternetAddress(from));elsemsg.setFrom();
msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to, false));if (cc != null)msg.setRecipients(Message.RecipientType.CC,InternetAddress.parse(cc, false));if (bcc != null)msg.setRecipients(Message.RecipientType.BCC,InternetAddress.parse(bcc, false));
subject = new Date().toLocaleString();msg.setSubject(subject);
MimeBodyPart mbp1 = new MimeBodyPart();String html ="<!DOCTYPE HTML PUBLIC /"-//W3C//DTD HTML 4.0 Transitional//EN/">"+ "<html>"+ "<head><title></title></head>"+ "<body>"+ "<b> see the following jpg : it is a car!</b><br/>"+ "<a href=http://www.a.com/a.jsp>hello</a><br/>"+ "<IMG src=cid:7e2a34e1.jpg><br/>"+ "<b> end of jpg</b>"+ "</body>"+ "</html>";
mbp1.setContent(html, "text/html");
FileDataSource fds = new FileDataSource("c:/7e2a34e1.jpg");MimeBodyPart mbp2 = new MimeBodyPart();
mbp2.setFileName(fds.getName());mbp2.setText("This is a beautiful car !");mbp2.setDataHandler(new DataHandler(fds));mbp2.setHeader("Content-ID", "<" + fds.getName() + ">");mbp2.setDisposition(null);
MimeMultipart mp = new MimeMultipart("related"); //alternativemp.addBodyPart(mbp1);mp.addBodyPart(mbp2);msg.setContent(mp);
msg.setSentDate(new Date());Transport.send(msg);System.out.println(mp.getCount());System.out.println("/nMail was sent successfully.");
}
}class SMTPAuth extends javax.mail.Authenticator {private String user, password;public SMTPAuth(String u, String p) {user = u;password = p;}public void getuserinfo(String getuser, String getpassword) {user = getuser;password = getpassword;}protected javax.mail.PasswordAuthentication getPasswordAuthentication() {return new javax.mail.PasswordAuthentication(user, password);}
}