现在有一个自动发送电子邮件的系统,采用C/S结构进行管理,进行某些设置后,比如设置定 时发送,定每周一发送,并且这种时间可以随时更改,那么服务器段如何处理呢?也就是说 ,在这种设置改变后,服务器端如何获知?是否可以将这种设置保存到一个文件中,由服务 器端的一个程序每天扫描一次这个文件,如果满足这种时间条件就进行相应的处理,请问这
 样行吗?感觉方法有点笨,有什么更好的办法吗?另外,如果客户端设置了某些条件,比如
对某些人立即发送电子邮件,请问服务器端有如何响应呢?需要提请注意的是,这里采用的
是C/S模式而不是B/S模式。上面的两个问题不知道是否算问清楚,请指教

解决方案 »

  1.   

    我不太明白,你说的“设置定时发送”由系统管理员改系统的设置,还是每一个用户都有权设定和修改自己的设置?我想你是指后面一种情况吧。那么一个方法是在Server 的数据库中建立一个(或多个)保存用户设置的表,服务器端检查这个表就知道每个用户的设置,以及按照时间条件处理邮件发送了。因为是定时发送,当然要每隔一段时间就扫描这个表一次,可以一天一次,也可以一天1亿次,由具体情况而定。对某些人立即发送——在扫描这个表并准备同时做自动处理时——这应该是一个独立的过程——如果该用户有未发邮件,并且邮件的收件人属“立即发送”,则发送。
      

  2.   

    那么请问如何保存数据呢?就像B/S结构中点某个连接或是某个表单的提交按钮的时候,可以传给服务器数据,那么C/S结构中如何实现这种数据的传递呢?谢谢
      

  3.   

    服务器上有一个数据库服务,有一个IP和一个端口号,客户端知道IP和端口号就可以与之连接。至于如何连接,不同的数据库,不同的开发工具略有不同,这是另外一个问题了,我一两句话也说不清:)。远程的数据库连接上以后,对数据库的操作就象对本地数据库的操作一样,可以打开一个表,然后insert,最后提交修改,但这不是一个传递数据的好方法;也可以用执行SQL的方法插入一个记录,推荐使用后面一种方法,因为这是效率很高的方法。不知道我说清楚了没有。
    在用户点“立即发送”或“定时发送”的时候就可以把邮件数据传到服务器去了。