用SMTP怎样作出邮件认证操作,认证口令如何设置?(100分)

  • 主题发起人 主题发起人 wjl_my
  • 开始时间 开始时间
W

wjl_my

Unregistered / Unconfirmed
GUEST, unregistred user!
请高手回答
 
应该用Delphi6和Delphi7的IdSMTP控件。IdSMTP支持认证发信,示例如下:

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
with IdMessage1 do
begin
Body.Assign(Memo1.Lines);
From.Address:=EditFromAdd.Text;
Recipients.EMailAddresses:=EditToAdd.Text;
TIdAttachment.Create(IdMessage1.MessageParts,EditAtt.Text);
Subject:='测试信件';
end;
//开始发送邮件
with IdSMTP1 do
begin
Host:=EditHost.Text;
Port:=25;
Username:=EditUser.Text;
Password:=EditPSW.Text;
try
Connect;
except
Showmessage('连接SMTP服务器失败!');
exit;
end;
try
Send(IdMessage1);
ShowMessage('测试邮件已经发送,请到邮箱检查是否收到!');
Finally
Disconnect;
end;
end;
end;

 
idmessage是什么?
 
还是出现认证错误,你能举个例子吗?
谢谢
 
那用下面这个吧,IdMessage也是Indy控件,你找找看。-_- 该结贴了吧?

procedure Tform1.SendAlarmEmail;
begin
if SMTPAuthority then //SMTPAuthority 是 表示这个SMTP服务器是否需要认证的boolean
SMTP.AuthenticationType := atLogin
else SMTP.AuthenticationType := atNone;
SMTP.UserID := mjyemail@sina.com;//帐户
SMTP.Password := **********;//密码
{General setup}
SMTP.Host := smtp.sina.com.cn;
SMTP.Port := 25;
try
SMTP.Connect;
except
Showmessage('连接SMTP服务器失败!');
Exit;
end;
try
with IdMsgSend do
begin
body.Clear;
Body.Add('hello world');//内容
From.Text := 'mjyemail@sina.com';
Recipients.EMailAddresses :='yourname@263.net'//收件人
Subject:='TEST'//主题
end;
SMTP.Send(IdMsgSend);
finally
SMTP.Disconnect;
end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部