delphi发送邮件代码

procedure TForm1.Button1Click(Sender: TObject); 
begin 
  try 
    IdSMTP1.AuthenticationType:=atLogin; //设置登陆类型 
    IdSMTP1.Username:=Edit1.Text; //设置登陆帐号 
    IdSMTP1.Password:=Edit2.Text; //设置登陆密码 
    IdSMTP1.Host:=Edit3.Text; //设置SMTP地址 
    IdSMTP1.Port:=strtoint(Edit4.Text); //设置端口  必须转化为整型 
    IdSMTP1.Connect;  //开始连接服务器 
  except 
    Showmessage('连接失败,请重试!'); 
    Exit; //连接失败 的话 退出该执行过程 
  end; 
  IdMessage1.Body.Clear;  //先清空上次发送的内容 
  IdMessage1.Subject:=Edit5.Text;  //设置邮件发送的标题 
  IdMessage1.Body.Assign(Memo1.Lines);  //设置邮件发送的主体 
  IdMessage1.From.Address:=Edit6.Text; //设置邮件的发件人  也就是说该邮件来自什么地方 
  IdMessage1.Recipients.EMailAddresses:=Edit7.Text;  //收件人的地址 
  try 
    idSMTP1.Send(IdMessage1); 
    Showmessage('邮件发送成功!'); 
  except 
    Showmessage('邮件发送失败!'); 
  end; 
end;  

或者:

我写了一个发邮件的函数,包你满意
type
  TLoginEmailServer=record               
     SMTPHost:string;
     SMTPPort:integer;
     Username:string;
     Password:string;
     SmtpAuthType:integer;          
  end;
function SendEmail(poSMTPServer:TLoginEmailServer;poBody:Tstrings;psFromEmial,
                  psToEmail,psSubject:string;psContentType:string;
                  CCToEmail:string;poAttachmentPath:TStrings):integer;
var
  loIdMsgSend: TIdMessage;
  loSMTP: TIdSMTP;
  i:integer;
begin
  Result:=3;
  loIdMsgSend:=nil;
  loSMTP:=nil;
  try
    loIdMsgSend:=TIdMessage.Create(nil);
    loSMTP:=TIdSMTP.Create(nil);
    with loIdMsgSend do               
      begin
       ContentType:=psContentType;
       From.Text := psFromEmial;
       ReplyTo.EMailAddresses := psFromEmial;
       Recipients.EMailAddresses := psToEmail;
       CCList.EMailAddresses:=CCToEmail;
       Subject := psSubject;
       Priority := mpHigh;
       ReceiptRecipient.Text := '';
       Body.Assign(poBody);
       if Assigned(poAttachmentPath) then
       begin
         for i := 0 to poAttachmentPath.Count-1 do   
                 begin
           TIdAttachment.Creat(loIdMsgSend.MessageParts,poAttachmentPath.Strings[i]);
         end;
       end;
    end;
    with loSMTP do                   
      begin
      Host :=poSMTPServer.SMTPHost;
      Port := poSMTPServer.SMTPPort;
      if poSMTPServer.SmtpAuthType=1 then
        AuthenticationType:=atLogin
      else
        AuthenticationType:=atNone;
      Username := poSMTPServer.Username;
      Password := poSMTPServer.Password;
      try
        Connect;   
        Send(loIdMsgSend);      
      except
        result:=2;
        exit;
      end;
      Result:=0;
  finally
    loIdMsgSend.Free;
    loSMTP.Free;
  end;
end; 


 

阅读更多
个人分类: Delphi
上一篇Delphi 关键字详解
下一篇c++ 类模板
想对作者说点什么? 我来说一句

delphi两种方法调用Outlook发邮件

2010年03月02日 338KB 下载

匿名发送邮件-delphi

2008年06月16日 188KB 下载

发送邮件示例部分代码

2009年12月11日 4KB 下载

Delphi XE10 QQ 163 发送邮件

2017年06月14日 3.33MB 下载

php发送邮件demo代码

2017年02月15日 51KB 下载

SMTP发送邮件代码和解释说明

2010年02月24日 22KB 下载

delphi发送邮件

2008年08月29日 222KB 下载

发送邮件代码

2017年09月03日 975B 下载

没有更多推荐了,返回首页

关闭
关闭