网络选摘之[javamail在线发邮件全部代码,包括身份验证部分]

    技术2022-05-11  153

    刚才正好写了一个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);}

    }


    最新回复(0)