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>