spring集成邮箱

  1 1.导入james服务器的jar包和javaMail的jar包
  2 2.解压james服务器压缩包,在bin运行run.bat(目录必须是英文目录)
  3 3.可以进入cmd:telnet localhost 4555, 去添加用户密码(root,root)
  4 4.进入OutLook进去创建自己的邮箱账号:(服务器必须是localhost, @后面的路径要去服务器的apps→james→SAR-INF→config.xml里面设置路径)
  5 5.编写代码:
  6 ①.spring邮件配置
  7 <!-- ======================================== 配置javaMail ======================================== -->
  8 <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  9 <property name="host" value="localhost"></property><!-- 服务器 -->
 10 <property name="port" value="25"></property><!-- 端口 -->
 11 <property name="username" value="leo"></property><!-- 用户名 -->
 12 <property name="password" value="leo"></property><!-- 密码 -->
 13 <property name="protocol" value="smtp"></property><!-- 协议 -->
 14 <!-- 默认编码 -->
 15 <property name="defaultEncoding" value="utf-8"></property>
 16 <property name="javaMailProperties">
 17 <props>
 18 <!-- 设置SMTP服务器要的用户验证 -->
 19 <prop key="mail.smtp.auth">true</prop>
 20 </props>
 21 </property>
 22 
 23 </bean>
 24 ②.controller(action)代码编写
 25 private MailSender mailSender;
 26 public void setMailSender(MailSender mailSender){
 27 this.mailSender = mailSender;
 28 }
 29 
 30  
 31 
 32 //发送邮件测试4
 33 try{
 34 SimpleMailMessage message = new SimpleMailMessage();
 35 message.setFrom("leo@mail.com");
 36 message.setTo("leo2@mail.com");
 37 message.setSubject("你好");
 38 message.setText("好久不见,");
 39 mailSender.send(message);
 40 }catch(Exception e){
 41 e.printStackTrace();
 42 }
 43 controller:    
 44 @Resource
 45 private MailSender mailSender;
 46 action:
 47 private MailSender mailSender;
 48 public void setMailSender(MailSender mailSender){    this.mailSender = mailSender;
 49 }
 50 
 51  
 52 
 53 6.进入outlook接收邮件
 54 
 55 1.发送带附件的邮件:
 56 使用javaMail的API:JavaMailSender和MimeMessage
 57 简单邮件和附件邮件区别:
 58 简单邮件:
 59 MailSender:spring配置文件applicationContext.xml,配置MailSender的信息
 60 SimpleMailMessage:简单设置邮件主体
 61 附件邮件:(推荐使用)
 62 JavaMailSender:spring配置文件applicationContext.xml,配置JavaMailSender:spring的信息
 63 MimeMessage:需要使用JavaMailSender的对象,(.CreateMimeMessage())去创建MimeMessage对象。然后创建    MimeMessageHelper对象,辅助创建邮件主体(new MimeMessageHelper(mimeMessage, true, "UTF-8"))。
 64 
 65 
 66 2.附件获取方法
 67 获取同src的目录下的附件:(和src同一目录下的文件路径,编译后在classes文件下)
 68 ClassPathResource file1 = new ClassPathResource("test刘宇轩.txt");
 69 helper.addAttachment(file1.getFilename(), file1.getFile());
 70 
 71 获取在WebRoot/WebApp/WebContent的目录下的附件:
 72 FileDataSource file1 = new FileDataSource(ServletActionContext.getServletContext().getRealPath    ("attachfiles/test刘宇轩.txt"));
 73 helper.addAttachment(file1.getName(), file1.getFile());
 74 
 75 
 76 3.html内容格式,在setText()的第二个参数设置为true
 77 StringBuffer sb = new StringBuffer();
 78 sb.append("<html>...</html>");
 79 message.setText(sb.toString(), true);
 80 
 81 4.连接不同的服务器:
 82 连接本地服务器:
 83 1.打开james服务器;
 84 2.配置applicationContext.xml:
 85 <!-- ======================================== 配置javaMail ======================================== -->
 86 <!-- <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> -->
 87 <!-- <property name="host" value="localhost"></property>服务器 -->
 88 <!-- <property name="port" value="25"></property>端口 -->
 89 <!-- <property name="username" value="leo1"></property>用户名 -->
 90 <!-- <property name="password" value="leo1"></property>密码 -->
 91 <!-- <property name="protocol" value="smtp"></property>协议 -->
 92 <!-- 默认编码 -->
 93 <!-- <property name="defaultEncoding" value="utf-8"></property> -->
 94 <!-- <property name="javaMailProperties"> -->
 95 <!-- <props> -->
 96 <!-- 设置SMTP服务器要的用户验证 -->
 97 <!-- <prop key="mail.smtp.auth">true</prop> -->
 98 <!-- </props> -->
 99 <!-- </property> -->
100 <!-- </bean> -->
101 
102 连接qq邮箱服务器:
103 1.开网
104 2.配置applicationContext.xml:
105 <!--配置qq邮件服务器 -->
106 <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
107 <property name="host" value="smtp.qq.com"></property><!-- 服务器 -->
108 <!-- <property name="port" value="25"></property>端口 -->
109 <property name="username" value="1529761321"></property><!-- 用户名 -->
110 <property name="password" value="hfudpieaynmxgecj"></property><!-- 密码 -->
111 <property name="protocol" value="smtp"></property><!-- 协议 -->
112 <!-- 默认编码 -->
113 <property name="defaultEncoding" value="utf-8"></property>
114 <property name="javaMailProperties">
115 <props>
116 <!-- 设置SMTP服务器要的用户验证 -->
117 <prop key="mail.smtp.auth">true</prop>
118 <prop key="mail.smtp.ssl.enable">true</prop> 
119 </props>
120 </property>
121 
122 </bean>
原文地址:https://www.cnblogs.com/liuduanwu/p/9520470.html