• 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>
  • 相关阅读:
    Leetcode Excel Sheet Column Number
    AlgorithmsI PA2: Randomized Queues and Deques Subset
    AlgorithmsI PA2: Randomized Queues and Deques RandomizedQueue
    AlgorithmsI PA2: Randomized Queues and Deques Deque
    AlgorithmsI Programming Assignment 1: PercolationStats.java
    hdu多校第四场 1003 (hdu6616) Divide the Stones 机智题
    hdu多校第四场 1007 (hdu6620) Just an Old Puzzle 逆序对
    hdu多校第四场1001 (hdu6614) AND Minimum Spanning Tree 签到
    hdu多校第三场 1007 (hdu6609) Find the answer 线段树
    hdu多校第三场 1006 (hdu6608) Fansblog Miller-Rabin素性检测
  • 原文地址:https://www.cnblogs.com/liuduanwu/p/9520470.html
Copyright © 2020-2023  润新知