📄 frmssendmail.pas
字号:
unit FrmSSendMail;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, ComCtrls, Psock, NMsmtp, rcdstud,
TFlatMemoUnit, TFlatEditUnit,xutils;
type
TfmSSendmail = class(TForm)
Label1: TLabel;
Label2: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Smtp: TNMSMTP;
STB: TStatusBar;
strTitle: TFlatEdit;
Bevel1: TBevel;
Mbody: TFlatMemo;
procedure BitBtn2Click(Sender: TObject);
procedure FormHide(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure SmtpSuccess(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmSSendmail: TfmSSendmail;
implementation
uses FrmJbxx, frmMain, FrmSmtpSetup;
{$R *.DFM}
procedure TfmSSendmail.BitBtn2Click(Sender: TObject);
begin
self.visible := false;
end;
procedure TfmSSendmail.FormHide(Sender: TObject);
begin
fmssendmail.strTitle.text:='';
fmssendmail.Mbody.Lines.Clear ;
fmmain.enabled := true;
fmmain.visible := true;
end;
procedure TfmSSendmail.BitBtn1Click(Sender: TObject);
var
smtpfile: file of SmtpSetup;
rcdsmtp: SmtpSetup;
temfn: string;
begin
//msgbox('hihi');
stb.Panels[2].Text := '';
if strtitle.Text <> '' then
begin
temfn := 'smtpini.dat';
if fileExists(temfn) then
begin
if smtp.Connected then smtp.Disconnect;
assignfile(smtpfile, temfn);
reset(smtpfile);
stb.Panels[2].Text := '正在读取SMTP设置...';
read(smtpfile, rcdsmtp);
closefile(smtpfile);
smtp.UserID := rcdsmtp.strUserId;
smtp.Host := rcdsmtp.strSmtp;
smtp.Port := strtoint(rcdsmtp.strport);
try
begin
smtp.Connect;
stb.Panels[2].Text := '正在联接邮件服务器...';
end;
except
begin
stb.Panels[2].text := '不能连接邮件服务器!';
exit;
end;
end;
smtp.PostMessage.FromAddress := rcdsmtp.strEmail;
smtp.PostMessage.FromName := rcdsmtp.strUserId;
smtp.PostMessage.Subject := strtitle.Text;
smtp.PostMessage.ToAddress.Add(fmmain.arrstud[strtoint(stb.panels[0].text)].b_email);
mbody.Lines.Add ('此邮件用天涯海角同学录发送.');
mbody.Lines.Add ('下载地址:http://pcode.go.163.com');
smtp.PostMessage.Body.Assign(mbody.lines);
try
try
stb.Panels[2].Text := '正在发送邮件...';
smtp.SendMail;
stb.panels[2].Text :='发送成功!';
finally
smtp.Disconnect;
end;
except
begin
stb.Panels[2].Text := '发送邮件失败';
exit;
end;
end;
end
else
begin
showmessage('请先设置SMTP');
self.Visible :=false;
fmsmtpsetup.visible:=true;
end;
end
else
begin
msgbox('请填写完整信息');
end;
end;
procedure TfmSSendmail.SmtpSuccess(Sender: TObject);
begin
stb.Panels[2].Text := '成功发送已断开与邮件服务器的联接';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -