起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: 巧克力味

【结贴】邮件另存为的问题!**

[复制链接]
发表于 2008-9-26 17:05:35 | 显示全部楼层
你怎么看的呢?
是这样的,用上面的代码修改后,对于邮件接收时间做了存储,而对于修改代码之前的,发的邮件的时间没有存储这个时间,所以你获取到的时间为空。(也就是你1楼提的问题现象了)所以,对于修改代码之后的邮件应该是不存在问题的了,但对于以前的邮件,那就只能取当前时间了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-26 17:07:58 | 显示全部楼层

如图:

msgMail.Date = '' 时给msgMail.Date复的是当前时间,而不是我想要的邮件接收时间,  如果想获取邮件的接收时间,从哪里获取?

代码时间.png

41.84 KB, 下载次数: 123

回复 支持 反对

使用道具 举报

发表于 2008-9-26 17:21:42 | 显示全部楼层
首先,你这里是邮件另存的代码吧?
请按17楼的方式修改。(否则另存出来后是有问题的)
其次,这里的msgMail.date在发送邮件的时候,自动会存储为当前时间(也就是邮件接收时间)
然后,你再通过msgMail.date获取得到的时间,就是上面的的那个时间了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-26 17:24:01 | 显示全部楼层
如果像32楼msgMail.Date = ''  时,怎么获取邮件的接收时间,因为我在另存邮件后的邮件,日期大多是当前时间!
回复 支持 反对

使用道具 举报

发表于 2008-9-26 17:27:15 | 显示全部楼层
如果在代码修改前的邮件,由于之前没有存储msgMail.date时间(格式),所以另存后取时间不对。你才提了1楼的问题。
按17楼代码修改后,这个时间就对了。但是对于之前的邮件的这个时间,就没有办法,但对于修改后新发送或者接收的邮件就不会有问题了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-26 17:28:56 | 显示全部楼层
哦,明白了,我再测试一下看看!等会儿回贴!
回复 支持 反对

使用道具 举报

发表于 2008-9-26 17:30:36 | 显示全部楼层
好的。应该不会有问题了。我这边测试过了。呵呵
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-26 17:39:09 | 显示全部楼层
好,那我就不测试了,呵呵!

谢谢你了,刚开始我另存以前的邮件,难怪不对!
回复 支持 反对

使用道具 举报

发表于 2008-9-26 18:05:06 | 显示全部楼层
客气,那就结贴了。
回复 支持 反对

使用道具 举报

发表于 2008-10-20 16:37:40 | 显示全部楼层
楼主,更正17楼的改法:
procedure TMAILEDITFORM.SaveToStream(AStream: TStream);
var
  DateYear:   String;
  Month:         String;
  Date:           String;
begin
  if Pos('@', edtSendTo.Text) <> 0 then
    msgMail.From := DoGetMailFrom
  else
    msgMail.From := DoGetInternalMailFrom;

  if (edtFrom.text <> '') and (edtFrom.text <> DoGetMailFrom) and  (edtFrom.text <> DoGetInternalMailFrom) then
    msgMail.From := edtFrom.text;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-24 04:21 , Processed in 0.044412 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表