应如何收邮件?

grgz 2003-05-06 07:44:17
本人想用d7编一个收邮件程序,设置了TidtPop3的Username,Password,Port,host属性,调用connect方法,连接成功,但是不知道应该如何收邮件?
...全文
67 点赞 收藏 21
写回复
21 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
楚人无衣 2003-06-28
up,我也想知道
回复
hcjhcj 2003-05-13
那信的内容怎么在memo里显示出来啊?Memo1.Lines.AddStrings(TIdText(iMsg.MessageParts.Items[intindex]).Body); 但是我在memo加Tstrings的时候老是出现“list index out fo bound(1)”错误。这个问题怎么解决啊?问题出在哪儿啊?
回复
grgz 2003-05-08
但是pop没有stat命令啊.我用的是d7啊.
回复
短歌如风 2003-05-08
首先应该是stat命令啊!
每个邮件都有一个唯一的ID号,uidl就是取得这个ID号的。一般foxmail这一类的工具用它来判断该邮件是否下载过(与本地的ID列表相比较)。
回复
grgz 2003-05-07
为什么D7吾得呢?
回复
grgz 2003-05-07
我用的是163.com的免费邮箱。是不是还要设置某些属性呢?
回复
grgz 2003-05-07
但是pop没有stat和list命令,只有uidl命令,对了,uidl命令有什么用的?
回复
短歌如风 2003-05-07
还有,我试验时连接的是新浪的免费邮箱。你换一个邮件服务器试试。
从'Coremail' is not a valid integer value'这个错误信息看,好象是从服务器返回的信息格式不正确。
回复
xiaoyuer0851 2003-05-07
正在学习网络这一块,

谢谢各位了!~~~
回复
brallow 2003-05-07
来迟了,。。。。。。UPUPPPPPU
回复
短歌如风 2003-05-07
我用的也是TidPop3和TidMessage啊(不过我用的TidMessage是动态创建的)。
这样吧,你检查一下TIdPop3的CheckMessage的源代码,应该调用STAT命令,可能还有UIDL命令和LIST命令。
回复
grgz 2003-05-07
没有错啊,是这样啊。但是TidPop3没有UserNagle属性,返回的还是那个错误。
后来我把host改为pop.21cn.com(免费邮箱),返回的错误是:' "AIMC "is not a valid integer value' (我是用TidPop3和TidMessage控件)
回复
grgz 2003-05-07
没有错啊,是这样啊。但是TidPop3没有UserNagle属性。
后来我把host改为pop.21cn.com(免费邮箱),返回的错误是:'"AIMC"is not a valid integer value' (我是用TidPop3和TidMessage控件)
回复
短歌如风 2003-05-07
我用163的免费邮箱也正确。你的邮件服务器设置的正确吗?
我的设置是:
host: pop.163.com
port: 110
UserNagle: True
UserID,Password:不能告诉你:)
回复
LouShangDeLOOK 2003-05-07
无赖吃到"天鹅'肉了吗?快到水园看看啊
回复
短歌如风 2003-05-06
我这里可以用的啊!不过我用的是D6,公司还没有买D7,我个人又买不起……
回复
grgz 2003-05-06
还是不行啊,执行到if Pop.CheckMessages >= 1 then 时就弹出错误对话框:'Coremail' is not a valid integer value', 各位请帮帮我啦.
回复
短歌如风 2003-05-06
关于Pop3邮件客户端的编写,看一下$(DELPHI)\Demos\Indy\MailClient目录下的例子。
回复
短歌如风 2003-05-06
var
iMsg: TIdMessage;
begin
iMsg := TIdMessage.Create(nil);
pop.connect();
showmessage('登录成功');
if Pop.CheckMessages >= 1 then
begin
pop.Retrieve(1,iMsg);
showmessage('收了一个邮件');
edttext.Text :=iMsg.From.text;
edtAddress.Text :=iMsg.From.Address ;
edtName.Text :=iMsg.From.Name;
end;
pop.Disconnect;
iMsg.Free;
end;
执行正常。好象必须要先CheckMessages。
回复
grgz 2003-05-06
连接按钮:
pop.connect(20000);

pop.Onconnected事件:
showmessage('登录成功');
pop.Retrieve(1,iMsg);
showmessage('收了一个邮件');
edttext.Text :=iMsg.From.text;
edtAddress.Text :=iMsg.From.Address ;
edtName.Text :=iMsg.From.Name;

单击连接按钮之后,显示’登录成功‘,之后就没有反应了,最后显示’connection closed Gracefully '请问是什么原因?
回复
加载更多回复
相关推荐
发帖
网络通信/分布式开发
创建于2007-08-02

1573

社区成员

Delphi 网络通信/分布式开发
申请成为版主
帖子事件
创建了帖子
2003-05-06 07:44
社区公告
暂无公告