使用的是126的smtp服务器,需要身份认证 SmtpCli1->HdrFrom="[email protected]";
SmtpCli1->HdrTo="[email protected]";
SmtpCli1->HdrSubject="test";
SmtpCli1->SignOn="test";
SmtpCli1->FromName="[email protected]";
SmtpCli1->Host="smtp.126.com";
SmtpCli1->Port=25;
SmtpCli1->Username="xxxx";
SmtpCli1->Password="xxxxxxxxxxxxxx";
SmtpCli1->Open();
SmtpCli1->Mail();但不知道为什么总是提示 smtp component not ready
SmtpCli1->HdrTo="[email protected]";
SmtpCli1->HdrSubject="test";
SmtpCli1->SignOn="test";
SmtpCli1->FromName="[email protected]";
SmtpCli1->Host="smtp.126.com";
SmtpCli1->Port=25;
SmtpCli1->Username="xxxx";
SmtpCli1->Password="xxxxxxxxxxxxxx";
SmtpCli1->Open();
SmtpCli1->Mail();但不知道为什么总是提示 smtp component not ready
解决方案 »
- 有关delphi中数组做函数参数的问题
- 查找用户,但是参数无法传递过来
- fastreport简单问题,大家帮忙先!
- 请问代码编辑区能不能设置不让光标在容易位置插入?就像VC那样
- 在dbgrid表里显示某一列是另一个表中的ID值,想替换成另一表中的对应文本字段怎么弄?
- <delphi高手突破>中将界面与功能模块分离开,各位是不是都做到了!讨论一下顺便散分!
- ★关于 select distinct 的奇怪问题?请高人指点★
- dephi最基础也是最重要的问题
- 有奖大放送喽!!!!!!
- 1000分求一篇<<旅行社管理的需求分析>>. 老板死命令,这个月不完成马上走人,5555 来者有分!!
- dbgrid中相同字段的值的行,设置相同的颜色
- Filter的过滤条件有问题,不能and和or一起用?
const
TimeOut:Integer = 15(*秒*)*1000;
var
I:Integer;
IsTimeOut:Boolean;
begin
SmtpCli1.HdrFrom:='[email protected]';
SmtpCli1.HdrTo:='[email protected]';//这个收件人,只是邮件显示的收件人,但是并不是真正的邮件接收者
SmtpCli1.HdrSubject:='test';
SmtpCli1.SignOn:='test';
SmtpCli1.FromName:='xxx';
SmtpCli1.RcptName.Add('[email protected]');//这个才是真正的邮件接收者(可是以多个)
SmtpCli1.Host:='smtp.126.com';
SmtpCli1.Port:='25';
SmtpCli1.Username:='UserName';
SmtpCli1.Password:='******';
SmtpCli1.MailMessage.Add('Mailer Testing!');//邮件内容.
SmtpCli1.AuthType := smtpAuthLogin;//126的需要进行验证,即ESMTP
SmtpCli1.Open;
I := TimeOut;
IsTimeOut := True;
repeat
Application.ProcessMessages;
if (SmtpCli1.RequestType = smtpOpen) and (SmtpCli1.State = smtpReady) then
begin
IsTimeOut := false;
break;
end;
Sleep(1);
Dec(I);
until I=0;
if IsTimeOut then
begin
MessageBox(Handle,'连接服务器超时!','SMTP Test',MB_OK or MB_ICONERROR);
Exit;
end;
SmtpCli1.Mail;//发送
end;#define TimeOut 15/*秒*/*1000;
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SmtpCli1->HdrFrom = "[email protected]";
SmtpCli1->HdrTo = "[email protected]";//这个收件人,只是邮件显示的收件人,但是并不是真正的邮件接收者
SmtpCli1->HdrSubject = "test";
SmtpCli1->SignOn = "test";
SmtpCli1->FromName = "xxx";
SmtpCli1->RcptName->Add("[email protected]");//这个才是真正的邮件接收者(可是以多个)
SmtpCli1->Host = "smtp.126.com";
SmtpCli1->Port = "25";
SmtpCli1->Username = "UserName";
SmtpCli1->Password = "******";
SmtpCli1->MailMessage->Add("Mailer Testing!");//邮件内容.
SmtpCli1->AuthType = smtpAuthLogin;//126的需要进行验证,即ESMTP
SmtpCli1->Open();
int I = TimeOut;
bool IsTimeOut = true;
do{
Application->ProcessMessages();
if ((SmtpCli1->RequestType == smtpOpen) && (SmtpCli1->State == smtpReady))
{
IsTimeOut = false;
break;
}
Sleep(1);
I--;
}while(I > 0);
if (IsTimeOut)
{
MessageBox(Handle,"连接服务器超时!", "SMTP Test", MB_OK | MB_ICONERROR);
return;
}
SmtpCli1->Mail();//发送
}