一次发送多邮箱,您应该在数据库添加一张表.专门存放即将要发送的邮箱.
然后写一个定时发送的邮箱的功能来发送这张表的邮件地址.
参考下面定时删除文件的功能.改为定时发送邮件.
可以的,基本原理是这样:
首先你的发送会占用网页所在的线程,从而只有等到全部发送完毕后才会返回响应,所以第一点就是要另开辟一个线程异步执行发送操作。
在异步发送过程中,向数据库或其他位置写入进度消息。
写一个WebService用于返回消息。
在客户端中使用定时器定期访问该WebService获取最新的消息,呈现给用户。
整个实现过程还是比较麻烦的,涉及知识点较多。
如果将WebService&客户端Ajax部分换作Asp.Net提供的UpdatePanel+Timer方案,难度会被简化很多。
如果不采用Ajax,也有个权宜之:
第一步还是启用独立线程异步发送邮件
也还是要在发送时将消息写入数据库或其他位置
然后立即将客户端页面转向到消息页
消息页读取消息并显示,并且该页面设置定时刷新,这样也能解决问题,就是用户体验不是很好。