- /***************email发送实战***************************/
- //用java实现发送
- public static void sendMail(String mail_host, String mail_port, final String mail_sender, final String mail_sender_pwd, String mail_from, String To, String CC, String BCC, String subject, String content, boolean isSSL) {
- try {
- // Get a Properties object
- Properties props = System.getProperties();
- props.setProperty("mail.smtp.host", mail_host); //smtp.gmail.com
- props.put("mail.smtp.auth", "true");
- if (isSSL) {
- Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
- props.setProperty("mail.smtp.port", mail_port);
- props.setProperty("mail.smtp.socketFactory.port", mail_port);
- props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
- props.setProperty("mail.smtp.socketFactory.fallback", "false");
- }
- Session session = Session.getDefaultInstance(props, new Authenticator() {
- protected PasswordAuthentication getPasswordAuthentication() {
- return new PasswordAuthentication(mail_sender, mail_sender_pwd);
- }
- });
- // -- Create a new message --
- // Message msg = new MimeMessage(session);
- MimeMessage msg = new MimeMessage(session);
- // -- Set the FROM and TO fields --
- msg.setFrom(new InternetAddress(mail_from));
- //发送到目标邮件
- msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(To));
- //抄送的接收者
- if (StringUtils.isNotEmpty(CC))
- msg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(CC));
- //暗送的接收者
- if (StringUtils.isNotEmpty(BCC))
- msg.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(BCC));
- msg.setSubject(subject);
- // MimeMultipart multi = new MimeMultipart();
- Multipart multi = new MimeMultipart();
- //BodyPart textBodyPart = new MimeBodyPart();
- MimeBodyPart bodyPart = new MimeBodyPart();
- // 设定邮件内容的类型为 text/plain 或 text/html
- bodyPart.setContent(content, "text/html;charset=UTF-8");
- //textBodyPart.setText(content);
- multi.addBodyPart(bodyPart);
- msg.setContent(multi);
- msg.saveChanges();
- // msg.setText(content);
- msg.setSentDate(new Date());
- Transport.send(msg);
- } catch (MessagingException e) {
- log.debug(e.getMessage());
- }
- }
- //普通未加密
- private static void sentMail() {
- String mail_host = "smtp.163.com";
- String mail_sender = "test";
- String mail_sender_pwd = "test";
- String mail_from = "test@163.com";
- String To = "test1@163.com,test2@163.com";
- String CC = "test1@163.com,test2@163.com";
- String BCC = "test1@163.com,test2@163.com";
- String subject = "test email";
- String contents = getContent();
- sendMail(mail_host,
- null,
- mail_sender,
- mail_sender_pwd,
- mail_from,
- To,
- CC,
- BCC,
- subject,
- contents,
- false);
- }
- //SSL加密
- private static void sendMailSSL() {
- String mail_host = "smtp.gmail.com";
- String mail_port = "465";
- String mail_sender = "test";
- String mail_sender_pwd = "test";
- String mail_from = "test@gmail.com";
- String To = "test1@163.com,test2@163.com";
- String CC = null;
- String BCC = null;
- String subject = "test email";
- //String contents = "<shortname> has paid - <amount> E TTC";
- String contents = getContent();
- sendMail(mail_host,
- mail_port,
- mail_sender,
- mail_sender_pwd,
- mail_from,
- To,
- CC,
- BCC,
- subject,
- contents,
- true);
- }
- //利用commons发送
- private static void sendMail(String hostName, String sender, String pwd, String from, String to,String subject, String contents, boolean isSSL) {
- try {
- List list = new ArrayList();
- InternetAddress[] toAry = InternetAddress.parse(to);
- for (int i = 0; i < toAry.length; i++) {
- list.add(toAry[i]);
- }
- log.debug(list);
- SimpleEmail email = new SimpleEmail();
- email.setHostName(hostName);//邮件服务器 smtp.sina.com
- email.setAuthentication(sender, pwd);//smtp认证的用户名和密码
- if (isSSL) {
- email.setSmtpPort(465);
- email.setSSL(true);
- email.setSslSmtpPort("465");
- }
- //发送到目标邮件
- // email.addTo("beauty2001@163.com", "兔子");//收信者
- email.setTo(list);
- //暗送的接收者
- // email.setBcc(null);
- //抄送的接收者
- //email.setCc(null);
- email.setSentDate(new Date());
- // email.setFrom("beauty2001@163.com", "猫咪");//发信者
- email.setFrom(from);
- email.setSubject(subject);//标题
- email.setCharset("UTF-8");//编码格式
- //email.setMsg("这是一封猫咪的测试邮件");//内容
- email.setContent(contents, "text/html;charset=UTF-8");
- /* MimeMultipart multi = new MimeMultipart();
- BodyPart textBodyPart = new MimeBodyPart();
- textBodyPart.setText(contents);
- multi.addBodyPart(textBodyPart);
- email.setContent(multi);*/
- email.send();//发送
- } catch (Exception e) {
- log.debug(e);
- }
- }
- sendMail("smtp.163.com", "test", "test", "test@163.com","test1@163.com,test2@163.com", "test email", getContent(), false);
- sendMail("smtp.gmail.com", "test@gmail.com", "test", "test@gmail.com","test1@163.com,test2@163.com","test email", getContent(), false);
- //获取网页内容
- private static String getContent() {
- String contents = null;
- try {
- URL url = new URL("http://www.XXX.com/tech/cvs_card.html");
- InputStream inStream = url.openStream();
- contents = IOUtils.toString(inStream, "utf-8");
- System.out.println("Slashdot: " + contents);
- } catch (IOException ioe) {
- // handle this exception
- }
- return contents;
- }
- 加上commons-email-1.1.jar
email发送实战
最新推荐文章于 2019-02-26 11:48:26 发布