C#,找一个实现定时批量发送邮件的方法

高兴 2011-12-26 01:53:04
我想要一个定时批量的发送邮件的方法,首先,发送邮件我已经可以实现了,只要sentEmail(hastable ht)就可以了,我现在问题出在,我要把要发的邮件每个1分钟从数据库里面取出来,放到datatable中,然后按时间的先后顺序进行发送出去,邮件数量一般,最多的时候可以100封左右,我要如何处理.如果有源码就更好了,希望各位帮我想想办法.
...全文
1147 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
高兴 2011-12-26
  • 打赏
  • 举报
回复
资源已经够了,谢谢各位的分享,本人自行消化,分就平均分下去了,大家不要介意.
高兴 2011-12-26
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ooo7880000 的回复:]
以前做过。
Windows服务,邮件这东西发送速度什么的不好保证,因为你要用的 是邮件服务器,他代发,所以你要是发得速度太快。一次数量过多,邮件服务器就会拒绝你的发送,导致异常,所以要保证稳定,就不能保证效率。

个人建议 每隔60秒取一次数据,取完分成几批一起发送(建议20个一批),如果发送出现异常,则暂停大概3.4分钟继续发送。如果成功,更新数据库标记 发送成功。下次从数据库中取邮箱地址……
[/Quote]
就是插入数据库后,给了一个时间,什么时间发送的,到分钟的一个时间,每分钟取就是取那个时间范围内的.

分批的话,我发的人,其他人就可以在邮箱地址列表中出现了,不好吧.其实你想的都是我们想的,具体我看看楼上各位大哥发的源码看看.
ooo7880000 2011-12-26
  • 打赏
  • 举报
回复
以前做过。
Windows服务,邮件这东西发送速度什么的不好保证,因为你要用的 是邮件服务器,他代发,所以你要是发得速度太快。一次数量过多,邮件服务器就会拒绝你的发送,导致异常,所以要保证稳定,就不能保证效率。

个人建议 每隔60秒取一次数据,取完分成几批一起发送(建议20个一批),如果发送出现异常,则暂停大概3.4分钟继续发送。如果成功,更新数据库标记 发送成功。下次从数据库中取邮箱地址时就不会取出这些邮件

LZ 你的时间先后顺序 什么意思?数据库中有插入该邮箱地址的时间吗?
Select top 20 cEmail from TableA
where bSendSuccess=false
order by cTime
香儿爱土豆 2011-12-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 q107770540 的回复:]

看看阿非这个视屏,你就什么都懂了
http://blog.csdn.net/sandy945/article/details/4503463
[/Quote]

+1
香儿爱土豆 2011-12-26
  • 打赏
  • 举报
回复
香儿爱土豆 2011-12-26
  • 打赏
  • 举报
回复
q107770540 2011-12-26
  • 打赏
  • 举报
回复
看看阿非这个视屏,你就什么都懂了
http://blog.csdn.net/sandy945/article/details/4503463
高兴 2011-12-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 q107770540 的回复:]
用 WINDOWS服务
[/Quote]求解,求详细答案
高兴 2011-12-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lsj_zrp 的回复:]
Timer
[/Quote]定时,然后呢,最主要是处理内存表的那个模块,求解
高兴 2011-12-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ccy_qty 的回复:]
正好我前段时间就写了这样的程序.
[/Quote]
说明一下详细情况嘛
蛇尾巴草 2011-12-26
  • 打赏
  • 举报
回复
正好我前段时间就写了这样的程序.
q107770540 2011-12-26
  • 打赏
  • 举报
回复
用 WINDOWS服务
lsj_zrp 2011-12-26
  • 打赏
  • 举报
回复
Timer

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧