procedure TAMM_FX_EXPORT.B_SENDClick(Sender: TObject);
var i:integer;
begin
if (trim(e_tadd.Text)<>'') and (pos('@',trim(e_tadd.Text))>1) and (pos('.',trim(e_tadd.Text))>3) and (pos('@',trim(e_tadd.Text))+1<pos('.',trim(e_tadd.Text))) and
(pos('.',trim(e_tadd.Text))<length(trim(e_tadd.Text))) and (trim(e_fadd.Text)<>'') then begin
try
msg_send.MessageParts.Clear;
if not lb_ext.Items.Count<0 then begin
for i:=0 to lb_ext.Items.Count-1 do
TIdAttachment.Create(msg_send.MessageParts, lb_ext.Items.Strings[i]);
end;
msg_send.Body.Add('');
msg_send.Recipients.EMailAddresses:=trim(e_tadd.Text);
msg_send.From.Text:=trim(e_fadd.Text);
msg_send.Subject:=trim(e_title.Text);
dbs.Q_TEMP.First;
if dbs.Q_TEMP.RecordCount>0 then begin
while not dbs.Q_TEMP.Eof do begin
smtp.Host:=dbs.Q_TEMP.Fieldbyname('address').AsString;
smtp.UserId:=dbs.Q_TEMP.fieldbyname('accounts').AsString;
smtp.Password:=dbs.Q_TEMP.Fieldbyname('password').AsString;
if dbs.Q_TEMP.FieldByName('atype').Value=true then smtp.AuthenticationType:=atlogin else smtp.AuthenticationType:=atnone;
try
sb.Panels[1].Text:='正在连接 '+dbs.Q_TEMP.Fieldbyname('address').AsString;
sb.Repaint;
application.ProcessMessages;
smtp.Connect;
try
sb.Panels[1].Text:=dbs.Q_TEMP.Fieldbyname('address').AsString+'已连接,正在发送邮件...';
sb.Repaint;
application.ProcessMessages;
smtp.Send(msg_send);
finally
sb.Panels[1].Text:='发送邮件完成,正在断开连接...';
sb.Repaint;
smtp.Disconnect;
end;
sb.Panels[1].Text:='发送邮件完成...';
sb.Repaint;
Exit;
except
sb.Panels[1].Text:='发送邮件失败...';
sb.Repaint;
end;
dbs.Q_TEMP.Next;
end;
end
else application.MessageBox('您没有设置服务器地址,发送失败!','System information',mb_ok+mb_iconstop);
except
showmessage('error');
end;
end
else begin
application.MessageBox('你输入的邮件地址有误!','System information',mb_ok+mb_iconstop);
e_tadd.Clear;
e_tadd.SetFocus;
end;
end;