登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

lijm20085的博客

电子和计算机知识

 
 
 

日志

 
 

Delphi发送邮件  

2010-04-25 21:25:28|  分类: Delphi |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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;  

或者:

我写了一个发邮件的函数,包你满意

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes,
  Graphics, Controls, Forms, Dialogs, StdCtrls, IdComponent,
  IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, IdBaseComponent,
  IdMessage;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
 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.Create(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;
       end;
   finally
     loIdMsgSend.Free;
     loSMTP.Free;
   end;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
     SendEmail(.........);
end;

end.

  评论这张
 
阅读(2509)| 评论(1)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018