indy发信,为什么不成功 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiDB/html/delphi_20061216175621266.html
procedure TfrmMain.btn1Click(Sender: TObject);
begin
IdSMTP1.Host := 'freemx3.sinamail.sina.com.cn';//'mx.mail.163.split.netease.com';//SMTP.163.com服务器Rs`7`@
IdSMTP1.Port :=25;//服务器端口W63gO8
try
IdSMTP1.Connect;//建立连接d.
except
Showmessage('连接SMTP服务器失败!');
Exit;
end;
try
with IdMessage1 do
begin
body.Clear;
Body.add('用户名及密码123');//邮件正文件内容,也可这样Body.Assign(memo1.lines);X+
From.address :='ah_wcw@163.com';//发件人名GY
Recipients.EMailAddresses :='ah_wcw@163.com';//收件人邮箱:"
Subject:='用户名及密码';//邮件标题dw{d{
end;
IdSMTP1.Send(IdMessage1);//发送邮件7c"Xy
finally
showmessage('您的信件已成功发送');
IdSMTP1.Disconnect;//断开连接^DpX
end;
end;
要加一句
IdSMTP1.AuthenticationType:=atLogin
情况一样啊,大哥
ASMTP.Host:=FSmtpHost; //主机
ASMTP.Port:=FSmtpPort; //端口
ASMTP.Username:=FSmtpUserName; //用户名
ASMTP.Password:=FSmtpPassWord; //口令
ASMTP.AuthenticationType:=FSmtpAuthenticationType; //认证模式
ASMTP.Connect;
主要是发信服务器要求身份认证,你要将这些信息填全才行。
还有就是要确定主机允许这样发信,我用smtp.tom.com可以,用smtp.21cn.com就不行。你可换着试试
为何IdSMTP1.Host := 'freemx3.sinamail.sina.com.cn';就不可以,听说新浪对INDY控件发过来的参数有了屏蔽作用,那么怎么才能躲避这个。
以前用的是SendMail组件,好象出现过小问题,但还是不会出现不通过的问题
现在估计mail服务器都不好使用了
我blog上也有例子,看看也许能帮助你参考参考.
为了减少垃圾邮件, smtp服务器都会要求认证吧