当前位置:编程学习 > Delphi >>

delphi 邮件发送程序

程序 res unit Unit2; inte易做图ce uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP, StdCtrls, IdMessage; type TForm2 = class(TForm) Edit1: TEdit; Edit2: TEdit; Button1: TButton; SMTP1: TIdSMTP; IdMessage1: TIdMessage; Memo1: TMemo; Label1: TLabel; Label2: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); begin try SMTP1.AuthenticationType := atLogin; SMTP1.Username := 'kappernode@sina.cn'; SMTP1.Password := '********'; SMTP1.Host := 'smtp.sina.com.cn'; SMTP1.Port := 25; SMTP1.Connect(); if SMTP1.Connected then showmessage('连接服务器成功') except showmessage('连接服务器失败'); exit; end; IdMessage1.Body.Clear; IdMessage1.Subject := Edit2.Text; IdMessage1.Body.Assign(Memo1.Lines); IdMessage1.From.Address := 'kappernode@sina.cn'; IdMessage1.Recipients.EMailAddresses := edit1.Text; try SMTP1.Send(IdMessage1); showmessage('消息发送成功'); SMTP1.Disconnect; except showmessage('消息发送失败'); end; end; end. 发送邮件提示成功 但是在邮箱看不到发的邮件 蛋疼了....求大虾解释 是不是被邮件服务器过滤了?怎样才能看到发送的邮件?
答案:这是我写的,正常收发。
你的SMTP1.Username := 'kappernode@sina.cn'; 改成SMTP1.Username := 'kappernode‘;试试呢


var
    IDs: TIdSMTP;
    idm: TIdMessage;
begin   //发送邮件主函数
    Ids := TIdSMTP.Create(nil);
    Idm:= TIdMessage.Create(nil);
   try
     Application.ProcessMessages;
     if trim(toAddress)='' then exit;
     idM.Recipients.EMailAddresses := toAddress;
     idM.Subject := Esubject;
     idM.Sender.Name := FromName;
     idM.Sender.Address := EditEMailADD.Text;
     idM.From.Name := FromName;
     idM.From.Address := EditEMailADD.Text;
    // content := GetHTML(toPerson);
     idM.Body.Text := content;
     idM.ContentType := MailType;//'text/html';// 'text/plain';//'multipart/mixed';
    // showmessage(content);
    if not ids.Connected then
      begin  //避免对此验证产生邮件服务器错误
      idm.ReplyTo.EMailAddresses := EditEMailADD.Text;     
      ids.Host := EditSMTP.Text;
      ids.Port := Strtoint(EditPort.Text);
      ids.AuthenticationType := atLogin;
      ids.Username := EditEUserName.Text;
      ids.Password := EditEPassword.Text;
      //ids.Intercept:= IdConnectionIntercept;
      //SSLSocket.SSLOptions.Method:= sslvSSLv23;
    //  IdSSLIOHandlerSocket
      idS.Connect;
      end;
       ids.Send(idM);
     finally  
       if ids.Connected then ids.Disconnect;
       IDM.Free;
       SSLSocket.Free;
       IDS.Free;
      end;
end;

上一个:Delphi 编写Pascal程序
下一个:delphi中输入一个汉字,如何编程序自动能够找到该汉字的机内码

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,