发送邮件代码

转移技术贴 | 2007-01-14 00:06:00 | 阅读 997 次 | 评论(0)

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);
         end;
       end;
    end;
    with
loSMTP do                  
      begin
      Host :=poSMTPServer.SMTPHost;
      Port := poSMTPServer.SMTPPort;
      if poSMTPServer.SmtpAuthType=1 then
        AuthenticationType:=atLog

文章评论,共0条
游客请输入验证码