• 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>
  • 相关阅读:
    msyql 死锁
    yii2 操作数据库
    yii2 加载静态资源
    Yii2 之 UrlManager 实践 (一)
    Wordpress 之 Rewrite Rules
    yii2 使用gii生成代码文件
    权限设计的杂谈
    NodeJS —— 自定义流的实现
    浅析递归
    请将你的App签名文件放进保险箱
  • 原文地址:https://www.cnblogs.com/liuduanwu/p/9520470.html
Copyright © 2020-2023  润新知