用DELPHI如何开发一个邮件收发程序 ( 积分: 200 )

  • 主题发起人 主题发起人 willing66
  • 开始时间 开始时间
W

willing66

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,
DELPHI本身带的INDY控件写的程序都收发不了邮件。
听说是那些网络邮件服务器已经禁止了外部调用,但是为什么MS的OUTLOOK一样可以收发邮件呢?用DELPHI有没有写邮件收发程序,如何写?请高手指点。
 
把INDY的特征字符去掉 或者用sakemail
 
sakemail好像也不行,我昨天用sakemail试了一下,不行。
 
使用indy9不能发送邮件解决方法!

1).找到procedure TIdSMTP.Send(AMsg: TIdMessage);
这个函数将SendCmd('RSET');这行注销,SendCmd('RSET')一定要注销,否则会报异常

2).IdMessageCoderMIME这个单元,将下面的常量IndyMIMEBoundary,IndyMultiPartAlternativeBoundary,IndyMultiPartRelatedBoundary改成你自己需要的就可以了,这三个常量随便换成什么都可以,不过一定要长,最好是随机的GUID(在IDE的代码编辑器里同时按下Ctrl+shift+G可以产生GUID)!因为这三个常量是用来分割邮件内容的的分隔符。

从这里可以看出,部分门户网站的免费邮箱专门针对indy组件做了限制!
现在borland已经决定出售delphi了,这些门户还暗地里捅上一刀,真是阴险!
 
嗯,谢谢。
我回家试。
 
不对吧。我连接就连接不上,连接就出错了。
分割的话应该要到发邮件的时候还才会用到吧。
 
直接用socket吧,也挺方便的,就那几个命令,不懂参考RFC(SMTP和POP3、MIME)协议
 
socket那真的是太难了,我有试过了,看不大懂。
 
socket相对来说还是比较容易实现的.而且出问题也好找
 
在你联接服器,有些SMTP是需要验证有些是不需要的,需要的你需转化为BASE64编码
 
我已经启用身份验证功能,就是连接不上。
 
用indy smtp发送邮件
不过,得支持smtp的邮件地址,2006年底以后注册的就不行啦,
哈哈,这个我试过,只有原来注册的还可以,现在不行了,我的是163的
[:D]outlook也不行,一个样,跟foxmail一样,都不行了
 
后退
顶部