邮件批处理实现

我将邮件批处理分为两大步:

        //1.定义一个简单的邮件收取类,作用连接邮件服务器,然后收取收件箱里(inbox)的邮件,返回Message[]
    Message[] message = null;
    //1.1.1读取邮件账户信息(初始化收件人邮箱配置)(读取配置文件)
    Map emailInfo = InitInfo.receiveInfo();
       //1.1.2发件人邮箱配置文件初始化 (读取配置文件)
    InitInfo.sendInfo();
    //1.1.3预设关键字配置文件初始化(读取配置文件)
    String excelName = InitInfo.keyWordInfo();
    //1.2.根据用户名和密码,生成认证码Authenticator
    Authenticator authenticator = 
    AuthenticatorGenerator.getAuthenticator(String.valueOf(emailInfo.get("mailAddress")),
    String.valueOf(emailInfo.get("mailPassword")));
   
    //1.3读取邮件服务器的配置
    Properties properties = new Properties();
    properties = HostType.ICFCC.getProperties();
   
    //1.4根据邮件服务器的配置和生成的认证码信息读取邮件,返回message数组
    message = MailReceiver.receiverMessage(properties,authenticator);
   
    //2.定义一个邮件解析类,用来解析上面返回的Message数组(Message[])
        String str = MessageParser.parse(message,startTime,endTime,excelName);
        return str;

其中,1.1.1-1.1.3主要是为了完成邮件处理信息时所需要的配置,比如:收件人的邮箱配置,关键字的配置,发件人的邮箱配置等,主要在InitInfo类中实现,

1.2主要是根据读取到的邮件账户信息(地址和密码)来完成邮箱的认证并生成认证码,这里要特别注意,有的用的是邮箱的登陆密码,有的用的是认证密码(比如163.com需要自己重新设定一个密码来认证,否则会报错)

/** 1.2.根据用户名和密码,生成认证码Authenticator
* @ClassName: AuthenticatorGenerator 
* @Description: 该类用来生成认证码
*/
public final class AuthenticatorGenerator {


    /**
     * 根据用户名和密码,生成认证码
     */
    public static Authenticator getAuthenticator(final String userName, final String password) {
        return new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(userName, password);
            }
        };
    }


}

1.3读取邮件服务器的配置,需要知道邮箱服务器的地址,这里需要说明下,不同的邮箱对应不同的邮箱服务器,比如163对应的是mail.163.com服务地址:

Properties properties = new Properties();
 properties = HostType.ICFCC.getProperties();

/** 
*1.3.在第1步的SimpleMailReceiver的方法receiverMessage方法的参数,其中一个是Properties,一个是Authenticator,
*  为多个邮件服务器的一些基本信息进行了封装(读取邮件服务器的配置)
* @ClassName: HostType 
* @Description: 服务器种类:金电邮箱测试
*/
public enum HostType {


    ICFCC{
        @Override
        public Properties getProperties() {
            Properties defaults = new Properties();
            //读取邮件账户信息(初始化收件人邮箱配置)
        Map emailInfo = InitInfo.receiveInfo();
        String mailServer = null;
        if(emailInfo.get("mailServer")==null){
           mailServer =" ";
        }else{
           mailServer = emailInfo.get("mailServer").toString();
        }
       
//            defaults.put("mail.pop3.host", "mail.icfcc.com");
            defaults.put("mail.pop3.host", mailServer);
            defaults.put("mail.store.protocol", "pop3"); // 默认使用pop3收取邮件
            return defaults;
        }


    };


    public abstract Properties getProperties();


}
此时到这里,相信应该有点眉目啦,没错,

1.4根据邮件服务器的配置和生成的认证码信息读取邮件,返回message数组,该数组中包含所有的邮件
    message = MailReceiver.receiverMessage(properties,authenticator);

那么第2步就比较简单啦,就是单纯的解析邮件,当然在解析邮件的过程中,需要进行关键字的判断,时间范围的判断等等,以及最后将邮件的信息录入到excel表格中,等等,

2.定义一个邮件解析类,用来解析上面返回的Message数组(Message[])
        String str = MessageParser.parse(message,startTime,endTime,excelName);
        return str;

大的步骤就是这些,具体到细节还是比较容易实现的,就是几个小工具组组装起来共同来完成一个任务。


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Oracle数据备份是指通过软件工具将数据库的数据和结构备份到其他存储介质,以防止数据丢失和灾难恢复。Oracle提供了多种备份方法,其中包括批处理备份。 批处理备份是一种自动化的备份方式,可以通过编脚本或使用专门的备份软件来实现。以下是一个简单的批处理备份过程: 1. 创建备份脚本: 在备份服务器或备份软件上创建一个脚本文件,用于指导备份过程。脚本应包含备份的目标数据库、备份的路径和文件名等相关信息。 2. 定时任务设置: 使用操作系统的定时任务功能,将备份脚本定期执行,以自动进行备份操作。可以根据需求设置备份的频率,如每天、每周或每月备份一次。 3. 备份执行: 在预定的时间点,操作系统会自动执行备份脚本。脚本会连接到目标数据库,并使用Oracle的备份工具(如RMAN)来执行备份操作。备份过程会将数据和结构以二进制形式保存到指定的存储介质中,如硬盘、磁带或网络存储。 4. 备份完成通知: 备份完成后,脚本可以发送通知邮件或记录日志,以便管理员可以及时了解备份的状态和结果。 批处理备份的优点包括自动化、可靠性高和灵活性强。一旦设置好备份脚本和定时任务,备份过程可以自动执行,减少了管理员手动操作的工作量和错误可能性。同时,批处理备份可以根据需求进行调整,例如增加增量备份、冷备份或热备份等功能,以满足不同级别的备份需求。 总的来说,Oracle的数据备份批处理是一种有效的备份方式,可以确保数据的安全性和可恢复性。通过合理的设置和管理备份脚本和定时任务,可以有效地进行数据备份并提供灾难恢复的支持。 ### 回答2: Oracle数据库备份批处理是指使用批处理脚本来自动化执行Oracle数据库备份操作。这样做的好处是可以节省时间和人力成本,减少人为操作的错误风险。 要进行Oracle数据库备份批处理,我们需要以下几个步骤: 1. 创建一个备份脚本:这个脚本将包含备份数据库的命令和相关参数。可以使用RMAN(Recovery Manager)工具来执行备份操作。在脚本中,需要指定备份类型(完全备份、增量备份或增量备份),备份文件的存储位置以及备份的时间点等。 2. 设置计划任务:将备份脚本设置为计划任务,以便在指定的时间自动执行备份操作。可以使用crontab(Linux系统)或任务计划器(Windows系统)来设置计划任务。 3. 监控备份进度:在备份过程中,可以通过查看备份日志文件或使用RMAN的监控命令来了解备份的进度和状态。确保备份成功并及时处理任何备份错误。 4. 定期验证备份文件:定期验证备份文件的完整性和可恢复性非常重要。可以使用RMAN工具的验证命令来验证备份文件,以确保其可以成功还原数据库。 在实施Oracle数据库备份批处理时,需要注意以下几个关键点: 1. 安全性:备份文件包含有关敏感数据库信息,因此应采取措施保护备份文件的安全。可以加密备份文件,限制访问权限,并将备份文件存储在安全的位置。 2. 日志记录:备份操作的日志记录非常重要,可以通过记录备份时间、备份文件的名称和位置以及备份结果来监控备份操作的状态和效果。 3. 备份策略:根据数据库的重要性和业务需求,制定合适的备份策略。例如,每天进行完全备份,每隔一段时间进行增量备份。 综上所述,Oracle数据库备份批处理是一种自动化执行备份操作的有效方法。通过创建备份脚本、设置计划任务并进行备份监控,可以提高备份效率和可靠性,确保数据库备份的安全和可恢复性。 ### 回答3: Oracle数据备份批处理是一种自动化的备份过程,它能够帮助用户以批处理的方式对Oracle数据库进行备份。通过设置定期运行的批处理脚本,可以实现对数据库的定期备份,提供数据恢复和灾难恢复的保障。 Oracle数据备份批处理的主要步骤包括以下几个方面: 1. 首先,需要创建一个备份脚本,该脚本可以使用Oracle提供的备份工具,如RMAN(Recovery Manager)或者EXPDP(Export Data Pump)等。脚本中需要包含备份的目标数据库信息、备份类型、备份存储路径等备份相关的配置。 2. 在创建脚本后,需要使用操作系统中的定时任务或者调度工具(如crontab或者Windows任务计划等)来设置定期运行脚本的时间。根据需求,可以选择每天、每周或者每月等不同的频率进行备份。 3. 当定期运行备份脚本时,系统会自动执行其中的备份命令,并生成指定路径下的备份文件。可以选择全量备份或者增量备份,全量备份可以备份整个数据库,而增量备份只备份最近的数据变动。 4. 备份完成后,可以进行备份文件的验证和压缩等操作,以确保备份的完整性和高效性。验证备份可以验证备份文件与原始数据库之间的一致性,压缩备份可以减少备份文件的存储空间,提高存储效率。 5. 最后,需要定期监测备份的执行情况和备份文件的存储空间使用情况。可以通过查看备份日志和监控备份文件大小等指标,来及时发现备份问题和调整备份策略。 通过使用Oracle数据备份批处理,可以有效地保护数据库的数据安全,并提供数据恢复和灾难恢复的保障。同时,自动化的备份过程可以减少人工操作,提高备份的可靠性和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值