使用组件:IdSMTP IdMessage
代码需要修改才能用,懒得改啦,自己参照一下就好啦
procedure Tform1.sendmail(host:string;name:string;password:string;mailadress:string;fromtext:string); var smtp:TIdSMTP; msgsend:TIdMessage; csfs1:Boolean; csfs2:Boolean; begin if (LabeledEdit2.Text='') or (LabeledEdit4.Text='') then begin ShowMessage('请认真填表'); Exit; end; if(i > 3) then //可设置提交最大次数 begin ShowMessage('您发送的申请太多啦,请歇一歇吧'); Exit; end; i:=i+1; csfs1:=true; //*.txt附件传输开关 csfs2:=true; //文本传输开关 smtp := TIdSMTP.Create(nil); smtp.AuthenticationType := atLogin; smtp.Host := host; smtp.Username := name; smtp.Password := password; msgsend := TIdMessage.Create(nil); msgsend.Recipients.EMailAddresses := mailadress; msgsend.From.Text := fromtext; msgsend.Subject := '注册表单'; msgsend.Body.Clear; msgsend.Body.Add('班级:'+labeledEdit2.text);//邮件内容 Memo1.Lines:=msgsend.Body; Memo1.Lines.SaveToFile('表单.txt');//提交附件名 if csfs1 then TIdAttachment.Create(msgsend.MessageParts, '表单.txt'); if not csfs2 then msgsend.Body.Clear; try smtp.Connect(); try smtp.Authenticate; smtp.Send(msgsend); ShowMessage('提交成功'); except if temp then begin ShowMessage('提交失败'); Application.Terminate; end; temp:=True; end; except ShowMessage('无法连接服务器!'); end; smtp.Disconnect; end;
留言