应如何收邮件?

grgz 2003-05-06 07:44:17
本人想用d7编一个收邮件程序,设置了TidtPop3的Username,Password,Port,host属性,调用connect方法,连接成功,但是不知道应该如何收邮件?
...全文
140 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
楚人无衣 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 '请问是什么原因?
加载更多回复(1)

1,594

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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