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中输入一个汉字,如何编程序自动能够找到该汉字的机内码