由谁用过sakemail控件的帮我进来看看代码,一个奇怪的问题(50分)

  • 主题发起人 主题发起人 luojia
  • 开始时间 开始时间
L

luojia

Unregistered / Unconfirmed
GUEST, unregistred user!
一个主界面点菜单然后showmodal一个发邮件的formwrite
formwrite上面有一个send按钮

问题是 现在发完一封邮件后,一切正常,用foxmail也可以收到。

但是当我再一次点菜单,出现这个formwrite窗体以后,重新编辑一封邮件,点send,结果他又把上一封邮件发了一遍,根本不是现在窗体上面编辑的。

除非关闭重启整个程序,否则它始终法的是我第一次写的那封。

不知道是不是发完了以后,应该要对sakmsg1做一点什么工作?

还有,希望大人给我讲讲sakmsg1的rawmail属性。

下面是buttonsend的代码:
procedure TFormWrite.ButtonSendClick(Sender: TObject);
begin
screen.cursor := crHourGlass;
SakMsg1.TextEncoding := teBase64;
SakMsg1.SendTo := EditSendTo.text;
SakMsg1.Subject := EditSubject.text;
SakMsg1.Text.Assign( Memo1.Lines);

SakSMTP1.connect;
if not SakSMTP1.SMTPError then
begin
showmessage('con');

SakSMTP1.SendTheMessage(SakMsg1);
showmessage('sending');
SakSMTP1.Disconnect;
showmessage('dis');

end;
screen.cursor := crDefault;
FormWrite.close;

end;

另外,在 formshow的过程中,我还打开一个ini文件读了一些内容到sakmsg1的相应属性中。procedure TFormWrite.FormShow(Sender: TObject);
Var
IniFile : TIniFile;
IniSection : String;
begin


IniFile := TiniFile.Create('./account.ini');

IniSection:='User';
SakMsg1.UserName:=IniFile.ReadString (IniSection,'Sender','');
SakMsg1.From:=IniFile.ReadString (IniSection,'From','');
SakMsg1.ReplyTo:=IniFile.ReadString (IniSection,'ReplyAddress','');

IniSection:='Smtp';
SakSMTP1.Host:=IniFile.ReadString (IniSection,'SMTPServer','');


IniFile.free;
Chdir(path);

end;


整个页面,就这两个过程。


 
后退
顶部