请教:多线程发信程序设计优化问题(100分)

  • 主题发起人 主题发起人 Liyue
  • 开始时间 开始时间
L

Liyue

Unregistered / Unconfirmed
GUEST, unregistred user!
使用delphi 的 nmsmtp,向客户地址簿中的每个客户发一封内容相同的信件(但不同客户的称呼不同)。要求直接发送(不能使用抄送之类的方法发送),准许使用同一个smtp服务器多线程发信。问题:
“编写的线程包含连接、发送等一系列操作,这将占用系统资源,达不到多线程高效的目的。怎样改进?”谢谢!
 
SOS!敬请大虾关注。我等着,谢谢!
 
g 是什么意思?
 
可以在To(发信人)地址处写上所有收信人的地址,
当然,称呼你可以改一改,不要说某某人,而说模糊
称呼即可!
 
>在To(发信人)地址处写上所有收信人的地址,
对收信人来说会看到抄送某某的
 
抄送倒没有,可是别人可以看到收信人还有其他人!
但若编程用多个线程发信实在不是好方法,一封信
发多次,太浪费了!
 
比如,向20000位客户发送年卡。抄送之类总不太好吧?
并且,许多信箱设置了过滤功能。拒绝接受所有不是直接发给其本人的信件。
那位高手给个提高效率的思路?谢谢!
 
多个收件人不行,暗送应该可以,暗送的地址其他人看不到!
我还是不同意将一封信法多份!
 
但从网上下的那些发垃圾信的软件都是一封信发多次的啊。
 
我一见“抄送”就“杀”。
 
如果一定要用smtp分别发送,那也没有别的办法.只有建一群线程,每个线程里当然都要做连接
/发送的操作.就像Netants一样,当然每个Ants都要先连接,再获取数据.但是可以每个线程都只连接
一次,然后一直发送.这样效率会高一点.而且就带宽的使用上来说,多线程的效率肯定高,这与
是否消耗更多系统资源无关.
 
要提高效率,最好还是让每个线程链接上SMTP服务器后发送多封邮件.最大的问题在于你
指定的SMTP服务器可能会拒绝太多的重复发送. 解决的办法是自己开SMTP服务.
从编程角度看,每个线程发送后死亡是最方便的. 但这样会有很多反复重复的链接.如果
采用自己写SMTP类,把主机名同一预先解释之类的手段可以略为提高效率.我写了这样的
多线程类和SMTP类,不过是用在VC++里面的. :)
 
多人接受答案了。
 
后退
顶部