自己写的javamail

package com.lobo.server.common;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Date;
import java.util.Properties;

import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import com.lobo.server.db.entity.LoboDeviceInspect;

public class JavaMail {
 
    private Properties properties;
    private Session mailSession;
    private MimeMessage mailMessage;
    private Transport trans;
   
    public JavaMail() {
     
    }
    public boolean sendMail(Object obj) {
        try {
         
         LoboDeviceInspect ld = (LoboDeviceInspect)obj;
         String name = ld.getLoboMoveDevice().getDeviceName();
         String ip = ld.getLanAddr();
         String userDate = ld.getUserDate().toString();
         
         String smtpHost = this.readValue("smtpHost");  
            String from = this.readValue("from");;  
            String to = this.readValue("to");;
            final String userName = this.readValue("userName");
            final String password = this.readValue("password");
           
            if(smtpHost==null || from==null || to==null ||userName==null || password==null){
             return false;
            }
         
            properties = new Properties();
            //设置邮件服务器
            properties.put("mail.smtp.host", smtpHost);
            //验证
            properties.put("mail.smtp.auth", "true");
            //根据属性新建一个邮件会话
            mailSession = Session.getInstance(properties,
                                              new Authenticator() {
                public PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(userName, password);
                }
            });
//            mailSession.setDebug(true);
            //建立消息对象
            mailMessage = new MimeMessage(mailSession);
            //发件人
            mailMessage.setFrom(new InternetAddress(from));
            //收件人
            mailMessage.setRecipient(MimeMessage.RecipientType.TO,
                                 new InternetAddress(to));
            //主题
            mailMessage.setSubject("编码为:"+name+" 的设备在使用!");
            //内容
            mailMessage.setText("有设备在使用,详细内容如下:"
                +"编码为:"+name+";"
                +"主机IP为:"+ip+";"
                +"使用时间为:"+userDate+"。");
            //发信时间
            mailMessage.setSentDate(new Date());
            //存储信息
            mailMessage.saveChanges();
            //
            trans = mailSession.getTransport("smtp");
            //发送
            trans.send(mailMessage);
            trans.close();
            return true;
        } catch (Exception e) {
//            e.printStackTrace();
            return false;
        } finally {
        }
    }
   
    //根据key读取value
    public String readValue(String key) {
  Properties props = new Properties();
  try {
   String filePath = this.getClass().getResource("/").getPath();
   InputStream in = new BufferedInputStream(new FileInputStream(filePath.replace("%20", " ")+"/sendMail.properties"));
   props.load(in);
   String value = props.getProperty(key);
   return value;
  } catch (Exception e) {
   e.printStackTrace();
   return null;
  }
 }
}

 

 

 

sendMail.properties文件放在src包下,内容为:

smtpHost=smtp.sohu.com
from=lobo07@sohu.com
to=lobo04@sina.com
userName=lobo07
password=lobo07

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值