`
txf2004
  • 浏览: 7066740 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

openjweb 邮件管理功能介绍

阅读更多

Openjweb的邮件管理功能介绍:

(1) 定义系统发件箱,在后台定时发邮件时会顺序选择系统发件箱进行邮件发送,这样在群发广告邮件时可降低发件箱地址被看作是垃圾邮箱的几率。

(2) 用户可定义自己的邮件群组,并为自己的用户群组增加成员,每个用户只能看到自己创建的群组。

(3) 用户发送邮件时即可以用自己的邮件作为邮件发送地址,也可将邮件加到系统邮件列表中由系统定时发送。

(4) 由于系统配置了邮件定时发送作业,所以在业务系统中可根据业务需要增加邮件正文、邮件标题、收件人信息等内容插入到邮件发送队列中,这样支持了当某种业务事件发生时,系统会以邮件的方式通知收件人。

(5) 如果邮件发送失败,邮件发送队列的邮件状态会变为失败状态,可重新设置状态为“队列中”,系统可继续发送这个邮件。

下面是openjweb平台的邮件管理的界面:

系统邮箱设置:

用户个人邮箱设置(可设置多个):

个人邮件群组设置:

为一个群组选择组成员(用户在上面的列表中只能看到自己创建的群组):

发邮件功能:(用户即可以直接发送,也可以将邮件加到系统的邮件发送队列中,如果一次群发很多收件人的话,适合由系统定时发送):

在上图中,如果要发送大量收件人,建议是否选择系统发件箱为

邮件发送队列:

如果上面的发邮件功能用系统发件箱发送,那么邮件会被添加到发送队列中,见下图:

系统后台会定时发送状态为“队列中”的邮件,如果发送成功,状态变为“已发送”,发送失败,则状态变为“发送失败”,点编辑,可将“发送失败”再改回队列中”,这样可以尝试再次发送,下面是编辑页面:

开发说明:

(1) 定时器配置(为了调试方便,设置了每分钟运行一次邮件发送,每次取最早的100条进行发送),见下面的定时器配置(core-service-demo.xml)

<bean id="defaultTimerBean" class="org.openjweb.core.schedule.JobSchedule"/>

<bean id="mailTimerMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

<property name="targetObject" ref="defaultTimerBean" />

<property name="targetMethod" value="doSendMail" />

<property name="concurrent" value="false" /> <!--将并发设置为false-->

</bean>

<bean id="mailTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">

<property name="jobDetail" ref="mailTimerMethod" />

<!-- 1分钟发送一次邮件 -->

<property name="cronExpression" value="0 0/1 * * * ?" />

</bean>

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

<property name="triggers">

<list>

<!--作业调度器,list下可加入其他的调度器-->

<ref bean="defaultTrigger"/>

<ref bean="luceneTrigger"/>

<ref bean="mailTrigger"/>

</list>

</property>

</bean>

下面是作业调度类的代码(供参考):

package org.openjweb.core.schedule;

import java.util.List;

import org.apache.log4j.Logger;

import org.apache.lucene.demo.IndexHTML;

import org.openjweb.core.entity.CommSystemMail;

import org.openjweb.core.mail.Mail;

import org.openjweb.core.service.IDBSupportService;

import org.openjweb.core.service.ServiceLocator;

import org.openjweb.core.util.StringUtil;

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

import org.springframework.scheduling.quartz.QuartzJobBean;

import com.openjweb.mail.entity.MailSendQueue;

public class JobSchedule extends QuartzJobBean

{

static Logger logger = Logger.getLogger(JobSchedule.class);

static long counter = 0; //计数器

static int mailScheduleFlag =0;//doSendMail修改,其他方法不要修改此参数

private static List sysMailList = null;//系统邮箱列表,设置为静态变量以避免每次都要去系统邮件列表

/**

* 定时从邮件队列中选择未发送邮件发送邮件

* @throws Exception

*

*/

public synchronized void doSendMail()

{

//定时器同时调用两次的问题需要查找原因

if(mailScheduleFlag > 0)

{

logger.info("邮件进程占用,返回...");

return ;//保证同一时刻只有一个定时器运行,通过这种方式保证每次定时时间到时,只执行一个线程

}

mailScheduleFlag = 1;//锁定

logger.info("开始发送邮件....");

IDBSupportService service = (IDBSupportService)ServiceLocator.getBean("IDBSupportService3");

if(sysMailList==null)

{

try

{

sysMailList = service.findAll("org.openjweb.core.entity.CommSystemMail");//系统邮件列表比较少,所以全部取出

}

catch(Exception ex)

{

logger.error(ex.toString());

mailScheduleFlag = 0;

return ;//如果出现异常,则解除锁定退出

}

}

if(sysMailList==null||sysMailList.size()==0)

{

logger.info("没有配置系统邮件列表");

mailScheduleFlag = 0;//锁定解除

return ;//如果没有配置系统发送邮箱列表则返回

}

Courier N

分享到:
评论

相关推荐

    openjweb

    文件 "01-openJWeb快速开发平台功能介绍.doc" 很可能详细列出了`openjweb`的各种功能,包括但不限于:模块化设计、数据建模、表单生成、权限管理、工作流引擎、报表工具、API接口等。这些功能使`openjweb`成为了一...

    OpenJWeb简易审批流

    OpenJWeb提供了强大的后台管理系统,可以通过配置或代码自定义表单,快速生成这些功能。这包括数据库模型的设计、接口编写、前端页面展示等步骤。 3. **工作流引擎**:OpenJWeb内置了工作流引擎,支持BPMN 2.0标准...

    openjweb快速开发平台-在线考试与在线调查系统

    在线考试系统是OpenJWeb平台的重要组成部分,它提供了完整的试题管理、组卷策略、考试过程控制和成绩统计等功能。开发者可以通过平台创建各种类型的试题,如选择题、填空题、判断题、问答题等,支持随机组卷和固定...

    OpenJWeb(1.6) Java Web应用快速开发平台技术白皮书

    同时,手册还会介绍如何部署和管理应用,包括热部署功能,这使得开发者在开发过程中无需重启服务器即可实时查看改动效果。 在源码层面,OpenJWeb的设计遵循模块化原则,使得代码易于理解和维护。开发者可以通过阅读...

    OpenJWeb1.9Release开源版20110601

    OpenJWeb 1.9 Release版本提供了丰富的功能和良好的性能支持,适用于快速搭建Java Web应用程序。通过详细的安装步骤与环境配置指南,用户能够轻松地搭建起开发环境并进行后续的应用开发工作。对于需要进行二次开发的...

    OpenJWeb1.6Java快速开发平台功能手册090315

    - **3.2 邮件发送 API**:集成邮件发送功能,便于系统向用户发送通知邮件。 - **3.3 在线编辑器**:提供文本编辑功能,支持富文本编辑。 - **3.4 JTA 集成**:集成 JOTM 的 JTA 产品,支持分布式事务处理。 - **3.5 ...

    OpenJWeb(v1.9) 企业级信息化应用平台开源版发布公告(基于Java语言开发)

    1. 邮件账户设置:包括创建和管理邮件账户,设置SMTP/POP3/IMAP服务器。 2. 邮件发送与接收:如何编写、发送、接收和回复邮件,以及设置自动回复和转发规则。 3. 邮件过滤与管理:垃圾邮件过滤、邮件分类、归档和...

    OpenJWeb工作流设计文档

    OpenJWeb的监控功能允许管理员实时查看工作流的运行状态,包括当前活动的任务、等待审批的实例等。而详细的报表系统则为企业提供了全面的工作流绩效数据,帮助企业优化流程,提升效率。 综上所述,《OpenJWeb工作流...

    OpenJWeb数据库表结构

    OpenJWeb数据库表机构含RBAC完整的角色权限、系统管理、B2C电商数据库结构、CMS内容管理系统数据库结构,是实际项目的数据库。

    OpenJweb增删改查页面生成器之建表1

    1. **OpenJweb简介**:OpenJweb是一个基于Java的开源快速开发平台,它提供了一整套工具和功能,包括代码生成、表单设计、权限管理等,帮助开发者快速构建企业级Web应用。它的核心优势在于减少了手动编写重复代码的...

    OpenJWeb快速开发平台简易工作流的实现-信息发布流程(一)

    OpenJWeb是一个深受开发者喜爱的开源Java Web开发框架,它提供了丰富的功能和强大的扩展性,尤其在工作流管理方面表现突出。本文将探讨如何在OpenJWeb平台上实现一个简易的工作流,以信息发布流程为例,帮助开发者更...

    OpenJWeb快速开发平台快速生成增删改查功能指南

    此文件介绍如何利用OpenJweb快速开发平台快速生成增删改查功能页面,已实现由用户定义及创建数据库表,在平台中生成hibernate映射文件和POJO类,生成的增删改查页面包括跨数据库的分页,排序,条件查询,及下拉型字段根据...

    OpenJWeb工作流

    在OpenJWeb平台中,本案例聚焦于实现一个简单但实用的审批流程管理功能,以满足企业内部的事务性计划审批需求。该功能主要面向电力行业的应用场景,具体而言是针对一家发电厂的事务性计划审批流程进行设计和开发。 ...

    OpenJWeb1.6 Java Web 应用快速开发平台技术白皮书

    本文介绍最新的开源产品Openjweb java快速应用开发平台,基于struts2+hibernate+spring+spring security,实现了单表,主明细表增删改查,完整的组织结构树和权限管理体系,支持多语设置和自动生成多语言文件,支持可配置...

    OpenJWeb3.6业务开发平台支持分布式架构-附件资源

    OpenJWeb3.6业务开发平台支持分布式架构-附件资源

    OpenJWeb_v1_6_增删改查页面代码生成器.PDF

    OpenJWeb V1.6采用的主框架为Struts2+Spring+Hibernate+Spring Security,后台管理页面可使用平台的代码生成器来生成。在平台中定义好一个数据库表结构后,可生成对应的数据库表,Java实体类代码,Hibernate配置文件...

    oracle 技术

    - 开发者可以通过该平台轻松地构建包括组织结构维护、用户角色管理、权限控制、邮件发送等在内的基础功能,以及一些高级功能如业务流程管理、网站栏目管理、全文检索等。 - **数据库支持**:尽管没有明确指出...

Global site tag (gtag.js) - Google Analytics