当前位置:首页互动社区 java发送邮件

签到03月21日
漏签

[]java发送邮件

人气:8635 回复:0 赞(0)
技术
踏雪寻梅4
黄金组1
版主
  • 帖子:6
  • 精华:0
  • 注册:2018-08-21

1.安装所需的email的jar包

java发送邮件

2.发送一封简单的Email

  1. package com.mylight;


  2. import java.util.Properties;

  3. import java.util.UUID;


  4. import javax.mail.Authenticator;

  5. import javax.mail.Message;

  6. import javax.mail.MessagingException;

  7. import javax.mail.PasswordAuthentication;

  8. import javax.mail.Session;

  9. import javax.mail.Transport;

  10. import javax.mail.internet.InternetAddress;

  11. import javax.mail.internet.MimeMessage;


  12. public class TestMail {

  13.     public static void main(String[] args) {


  14.         // 收件人电子邮箱

  15.         String to = "****@163.com";


  16.         // 发件人电子邮箱

  17.         String from = "****@qq.com";


  18.         senEmail(to, from);

  19.     }


  20.     private static void senEmail(String to, String from) {

  21.         // 指定发送邮件的主机为 smtp.qq.com

  22.           final String host = "smtp.163.com";  //QQ 邮件服务器


  23.           // 获取系统属性

  24.           final Properties properties = System.getProperties();


  25.           // 设置邮件服务器

  26.           properties.setProperty("mail.smtp.host", host);


  27.           properties.put("mail.smtp.auth""true");

  28.           // 获取默认session对象

  29.           final Session session = Session.getDefaultInstance(properties,new Authenticator(){

  30.             public PasswordAuthentication getPasswordAuthentication()

  31.             {

  32.              return new PasswordAuthentication(from, "****"); //发件人邮件用户名、密码(授权密码)  与登录密码不同

  33.             }

  34.            });


  35.           try{

  36.              // 创建默认的 MimeMessage 对象

  37.              final MimeMessage message = new MimeMessage(session);


  38.              // Set From: 头部头字段

  39.              message.setFrom(new InternetAddress(from));


  40.              // Set To: 头部头字段

  41.              message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));


  42.              // Set Subject: 头部头字段

  43.              message.setSubject("验证码");


  44.              // 设置消息体

  45.              message.setText("你的验证码为:" + String.valueOf(UUID.randomUUID()).substring(06).toUpperCase());


  46.              // 发送消息

  47.              Transport.send(message);

  48.              System.out.println("Sent message successfully....from.com");

  49.           }catch (final MessagingException mex) {

  50.              mex.printStackTrace();

  51.           }

  52.     }

  53. }

3.发送一段HTML的email

  1. package com.mylight;


  2. import java.util.Properties;


  3. import javax.mail.Authenticator;

  4. import javax.mail.Message;

  5. import javax.mail.MessagingException;

  6. import javax.mail.PasswordAuthentication;

  7. import javax.mail.Session;

  8. import javax.mail.Transport;

  9. import javax.mail.internet.InternetAddress;

  10. import javax.mail.internet.MimeMessage;


  11. public class HtmlTestEmail {

  12.     public static void main(String[] args) {


  13.          // 收件人电子邮箱

  14.           String to = "****@163.com";


  15.           // 发件人电子邮箱

  16.           String from = "****@163.com";


  17.           // 指定发送邮件的主机为 localhost

  18.           String host = "smtp.163.com";


  19.           // 获取系统属性

  20.           Properties properties = System.getProperties();


  21.           // 设置邮件服务器

  22.           properties.setProperty("mail.smtp.host", host);

  23.           //设置验证

  24.           properties.put("mail.smtp.auth""true");

  25.           // 获取默认的 Session 对象。

  26.           Session session = Session.getDefaultInstance(properties,new Authenticator() {


  27.               public PasswordAuthentication getPasswordAuthentication()

  28.                 {

  29.                  return new PasswordAuthentication(from, "***"); //发件人邮件用户名、密码

  30.                 }

  31.         });


  32.           try{

  33.              // 创建默认的 MimeMessage 对象。

  34.              MimeMessage message = new MimeMessage(session);


  35.              // Set From: 头部头字段

  36.              message.setFrom(new InternetAddress(from));


  37.              // Set To: 头部头字段

  38.              message.addRecipient(Message.RecipientType.TO,

  39.                                       new InternetAddress(to));


  40.              // Set Subject: 头字段

  41.              message.setSubject("This is the Subject Line!");


  42.              // 发送 HTML 消息, 可以插入html标签

  43.              message.setContent("<h1>This is actual message</h1>",

  44.                                 "text/html" );


  45.              // 发送消息

  46.              Transport.send(message);

  47.              System.out.println("Sent message successfully....");

  48.           }catch (MessagingException mex) {

  49.              mex.printStackTrace();

  50.           }

  51.     }

  52. }

 4.发送带有附件的Email

 

  1. package com.mylight;


  2. import java.io.File;

  3. import java.util.Properties;


  4. import javax.activation.DataHandler;

  5. import javax.activation.DataSource;

  6. import javax.activation.FileDataSource;

  7. import javax.mail.Authenticator;

  8. import javax.mail.BodyPart;

  9. import javax.mail.Message;

  10. import javax.mail.MessagingException;

  11. import javax.mail.Multipart;

  12. import javax.mail.PasswordAuthentication;

  13. import javax.mail.Session;

  14. import javax.mail.Transport;

  15. import javax.mail.internet.InternetAddress;

  16. import javax.mail.internet.MimeBodyPart;

  17. import javax.mail.internet.MimeMessage;

  18. import javax.mail.internet.MimeMultipart;


  19. public class FjTestEmail {

  20.     public static void main(String[] args) {


  21.         // 收件人电子邮箱

  22.           String to = "****@163.com";


  23.           // 发件人电子邮箱

  24.           String from = "****@163.com";


  25.           // 指定发送邮件的主机为 localhost

  26.           String host = "smtp.163.com";


  27.           // 获取系统属性

  28.           Properties properties = System.getProperties();


  29.           // 设置邮件服务器

  30.           properties.setProperty("mail.smtp.host", host);

  31.           //设置验证

  32.           properties.put("mail.smtp.auth""true");

  33.           // 获取默认的 Session 对象。

  34.           Session session = Session.getDefaultInstance(properties,new Authenticator() {


  35.               public PasswordAuthentication  getPasswordAuthentication(){


  36.                 return new PasswordAuthentication(from, "lcy1992111");

  37.               }


  38.         });


  39.           try{

  40.              // 创建默认的 MimeMessage 对象。

  41.              MimeMessage message = new MimeMessage(session);


  42.              // Set From: 头部头字段

  43.              message.setFrom(new InternetAddress(from));


  44.              // Set To: 头部头字段

  45.              message.addRecipient(Message.RecipientType.TO,

  46.                                       new InternetAddress(to));


  47.              // Set Subject: 头字段

  48.              message.setSubject("This is the Subject Line!");


  49.              // 创建消息部分

  50.              BodyPart messageBodyPart = new MimeBodyPart();


  51.              // 消息

  52.              messageBodyPart.setText("This is message body");


  53.              // 创建多重消息

  54.              Multipart multipart = new MimeMultipart();


  55.              // 设置文本消息部分

  56.              multipart.addBodyPart(messageBodyPart);


  57.              // 附件部分

  58.              messageBodyPart = new MimeBodyPart();

  59.              //发送的附件路径

  60.              File file = new File("C:\\Users\\sxcd\\Desktop\\work\\codecommit.txt");


  61.              DataSource source = new FileDataSource(file);

  62.              messageBodyPart.setDataHandler(new DataHandler(source));

  63.              messageBodyPart.setFileName("code");

  64.              multipart.addBodyPart(messageBodyPart);


  65.              // 发送完整消息

  66.              message.setContent(multipart );


  67.              //   发送消息

  68.              Transport.send(message);

  69.              System.out.println("Sent message successfully....");

  70.           }catch (MessagingException mex) {

  71.              mex.printStackTrace();

  72.           }

  73.     }

  74. }


楼主 2018-08-24 18:31:20  超级管理 编辑 删除
没有找到符合条件的信息

承诺遵守文明发帖,国家相关法律法规
我要回复

该帖已关闭回复