收发邮件的一些心得。

    这段时间在搞收发邮件。积累了一些心得,发现.NET本身自带的邮件发送功能有点问题,如果我是用126邮箱来发,同时发去了新浪,163,126,或其他邮箱,发现只有126的不能收,其他的都能收得到。由于时间关系没有深入去研究它。
    后来改用了jmail来发,一点问题都没有,这个组件确实好用。发的问题是好了,收的问题又来了。当收取邮件时,特麻烦,不是说程序写起来麻烦,是处理上很麻烦。网上很多例子都是,邮件收回来了,就会去删除服务器上的邮件。我不能这么干,删不删应该由用户自己去决定。由于收取了没有删除服务器上的邮件,所以每次去收得和本地对比一下,如果是新的才收下来。
    其中  jmail.POP3Class popMail = new POP3Class();//建立收邮件对象
             for (int i = popMail.Count; i >= 1; i--)                                                         
                {
                     string     MessageID = popMail.GetMessageUID(i);//这个方法能得到这封邮件的唯一标识
                }
取到的值应该是这样的:
1201003258.M407665P44098V0300FF01I00A13131.freemai
1193448159.60063.freemail-g2.xinnetdns.com,S=2318
1186556047.26437.freemail-g2.xinnetdns.com,S=29537
1185785213.30966.freemail-g2.xinnet.com,S=209785
1182761811.41467.freemail-g2.xinnet.com,S=3306
1182761258.77575.freemail-g2.xinnetdns.com,S=3306
1174354846.58042.freemail-g2.xinnetdns.com,S=1506
1169261191.49634.freemail-g2.xinnetdns.com,S=25076

如果附件大的话,收得更慢,随便搞了一下有些邮件有附件,有些邮件没有附件。46封邮件,要收3分多钟。
如果没有附件的话,它收得还是挺快的。
      最终还是舍弃了,web可能不具备收邮件的能力。所以最终只能在服务器端写了一个服务进行处理。如果各位有什么好的解决方案,愿闻其详。
posted @ 2008-07-03 11:18  ansonpan  阅读(839)  评论(0编辑  收藏  举报