最好是有原代码.

解决方案 »

  1.   

    你给我发短信
    告诉我你的email
    我个你发去
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, IdComponent, IdTCPConnection, IdTCPClient,
      IdMessageClient, IdSMTP, IdBaseComponent, IdMessage;type
      TForm1 = class(TForm)
        IdMsgSend: TIdMessage;
        SMTP: TIdSMTP;
        mmContent: TMemo;
        Label1: TLabel;
        edtTo: TEdit;
        Label6: TLabel;
        Label5: TLabel;
        Label4: TLabel;
        edtFrom: TEdit;
        edtSubject: TEdit;
        Button1: TButton;
        username: TEdit;
        password: TEdit;
        Label2: TLabel;
        Label3: TLabel;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
     with IdMsgSend do
      begin
        Body.Assign(mmContent.Lines);     {信件内容}
        From.Text := edtfrom.Text;        {发信人地址}
        Recipients.EMailAddresses := edtTo.Text; { To: header 收信人地址}
        Subject := edtSubject.Text; { Subject: header 信件标题}
        Priority := TIdMessagePriority(2); { Message Priority 发送级别}
        CCList.EMailAddresses := ''; {CC抄送}
        BccList.EMailAddresses := ''; {BBC密送}
        {We set the recipient to the From E-Mail address }
        //ReceiptRecipient.Text := From.Text;
        {indicate that there is no receipt recipiant}
        ReceiptRecipient.Text := '';
      end;
      //SMTP.AuthenticationType := atNone;
      SMTP.AuthenticationType := atLogin; {Simple Login 需要验证}
      SMTP.UserID := username.text;
      SMTP.Password := Password.text;  {General setup}
      SMTP.Host := 'smtp.sina.com.cn';
      SMTP.Port := 25;  {now we send the message}
      SMTP.Connect;
      try
        SMTP.Send(IdMsgSend);
      finally
        SMTP.Disconnect;
      end;
    end;end.
      

  3.   

    xiaoxiao197821(洪飞),如要发附件呢?
      

  4.   

    {********************************************************
                                                            *
    ;邮件发送程序程序                                      *
    ;作者:金属狂人                                        *
    ;2002.12.17                                            *
    ;email:[email protected]                                 *
                                                            *
    *********************************************************}
    unit Semail;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Buttons, ComCtrls, Psock, NMsmtp, Gauges;type
      Ts_frm = class(TForm)
        Label1: TLabel;
        BitBtn1: TBitBtn;
        BitBtn3: TBitBtn;
        BitBtn4: TBitBtn;
        Memo1: TMemo;
        ProgressBar1: TProgressBar;
        GroupBox1: TGroupBox;
        Label2: TLabel;
        Label3: TLabel;
        Label4: TLabel;
        Label5: TLabel;
        Label6: TLabel;
        Label7: TLabel;
        Edit2: TEdit;
        Edit3: TEdit;
        Edit4: TEdit;
        Edit5: TEdit;
        BitBtn5: TBitBtn;
        OpenDialog1: TOpenDialog;
        NMSMTP1: TNMSMTP;
        StatusBar1: TStatusBar;
        ListBox1: TListBox;
        ComboBox1: TComboBox;
        procedure BitBtn1Click(Sender: TObject);
        procedure NMSMTP1AuthenticationFailed(var Handled: Boolean);
        procedure BitBtn5Click(Sender: TObject);
        procedure ListBox1KeyDown(Sender: TObject; var Key: Word;
          Shift: TShiftState);
        procedure BitBtn3Click(Sender: TObject);
        procedure NMSMTP1HeaderIncomplete(var handled: Boolean;
          hiType: Integer);
        procedure NMSMTP1Connect(Sender: TObject);
        procedure NMSMTP1EncodeStart(Filename: String);
        procedure NMSMTP1EncodeEnd(Filename: String);
        procedure NMSMTP1Disconnect(Sender: TObject);
        procedure NMSMTP1SendStart(Sender: TObject);
        procedure NMSMTP1Failure(Sender: TObject);
        procedure NMSMTP1ConnectionFailed(Sender: TObject);
        procedure NMSMTP1Success(Sender: TObject);
        procedure NMSMTP1PacketSent(Sender: TObject);
        procedure BitBtn4Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      s_frm: Ts_frm;implementationuses help;{$R *.dfm}
    //连接
    procedure Ts_frm.BitBtn1Click(Sender: TObject);
    begin
       if  Combobox1.Text <>'' then   begin
          if NMSMTP1.Connected then
             NMSMTP1.Disconnect
          else begin
             NMSMTP1.Host :=Combobox1.Text;
             NMSMTP1.UserID :=Edit2.Text ;
             try
               NMSMTP1.Connect ;
               StatusBar1.Panels[0].Text :='Connected!';
             except
               StatusBar1.Panels[0].Text :='Connect Failed!';
             end;
          end;
        end else
               StatusBar1.Panels[0].Text :='Warning:The Host is blank!';
    end;
    procedure Ts_frm.NMSMTP1AuthenticationFailed(var Handled: Boolean);
    var
      s:string;
    begin
      s :=NMSMTP1.UserID ;
      if InputQuery('Authentication Failed','Invalid User ID. New User ID:',s) then
      begin
        NMSMTP1.UserID :=s;
        Handled :=True;
      end;
    end;procedure Ts_frm.BitBtn5Click(Sender: TObject);
    begin
        //OpenDialog1.Filter :='所有文件|*.*';
      if OpenDialog1.Execute then
      Listbox1.Items.Add(OpenDialog1.FileName);
    end;
    //附件列表
    procedure Ts_frm.ListBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if key=VK_DELETE then
         ListBox1.Items.Delete(ListBox1.ItemIndex)
      else if key=VK_INSERT then
          if OpenDialog1.Execute then
      listbox1.Items.Add(OpenDialog1.FileName);
    end;procedure Ts_frm.BitBtn3Click(Sender: TObject);
    begin 
      if NMSMTP1.Connected then  begin
         NMSMTP1.PostMessage.FromAddress      := Edit4.Text   ;
         NMSMTP1.PostMessage.ToAddress .text  := Edit3.text;
         NMSMTP1.PostMessage.Body.text        := Memo1.Text ;
         NMSMTP1.PostMessage.Attachments.Text := ListBox1.Items.Text ;{发送列表中的附件}
         NMSMTP1.PostMessage.subject          := Edit5.Text ;
         NMSMTP1.SendMail
        
       end else
         //showmessage('错误!');
         //StatusBar1.Panels.Add; 
         StatusBar1.panels[0].text :='Warning:There is no Server!'  ;
        // messagedlg('请先连接...',mterror,[mbok],0);
    end;procedure Ts_frm.NMSMTP1HeaderIncomplete(var handled: Boolean;
      hiType: Integer);
    var
      s:string;
    begin
      case hiType of
        hiFromAddress:
          if  InputQuery('Missing From Address','Input From Address',s) then
             begin
               NMSMTP1.PostMessage.FromAddress :=s;
               handled:=true;
             end;
        hiToAddress:
          if  InputQuery('Missing To Address','Input To Address',s) then
             begin
               NMSMTP1.PostMessage.ToAddress.Text  :=s;
               handled:=true;
             end;
      end;end;procedure Ts_frm.NMSMTP1Connect(Sender: TObject);
    begin
      StatusBar1.panels[0].text :='Connectting......!' ;end;procedure Ts_frm.NMSMTP1EncodeStart(Filename: String);
    begin
      StatusBar1.panels[0].text :='Encoding...'; 
    end;procedure Ts_frm.NMSMTP1EncodeEnd(Filename: String);
    begin
      StatusBar1.panels[0].text :='Encode End!'; 
    end;procedure Ts_frm.NMSMTP1Disconnect(Sender: TObject);
    begin
      StatusBar1.panels[0].text :='Disconnect!';
    end;procedure Ts_frm.NMSMTP1SendStart(Sender: TObject);
    begin
       StatusBar1.panels[0].text :='Sending email!';
    end;procedure Ts_frm.NMSMTP1Failure(Sender: TObject);
    begin
       StatusBar1.panels[0].text :='Failure,Please Check NetWork!'; 
    end;procedure Ts_frm.NMSMTP1ConnectionFailed(Sender: TObject);
    begin
       StatusBar1.panels[0].text :='Connect failure!';
    end;procedure Ts_frm.NMSMTP1Success(Sender: TObject);
    begin
       StatusBar1.panels[0].text :='Send Succeed!';
       ProgressBar1.Position := 0;end;procedure Ts_frm.NMSMTP1PacketSent(Sender: TObject);
    var
      Percent:integer;
    begin   if NMSMTP1.BytesTotal>0 then
        Percent := Round(NMSMTP1.BytesSent * 100.0 / NMSMTP1.BytesTotal)
      else
        Percent := 0;
      ProgressBar1.Position := Percent;
         // Status.Caption := '发送数据';
    end;procedure Ts_frm.BitBtn4Click(Sender: TObject);
    begin
      help_frm.Showmodal;
    end;procedure Ts_frm.FormCreate(Sender: TObject);
    begin
      if Edit4.Text<>'' then
       Memo1.Lines.Add('                                             '+'发件人:'+edit4.Text +' '+datetostr(date())+' '+timetostr(time()));
    end;end.
      

  5.   

    多谢xiaoxiao197821(洪飞)
    多谢各位朋友。
    今天的心情因为你们而高兴。