首先要往窗口上放两个组件:
IdSMTP(在Indy Clients标签下),IdMessage(在Indy Misc标签下)
var
body : TStringList;
begin
body := TStringList.Create;
body.Add('test'); //正文
IdMessage1.Body := body;
IdMessage1.From.Address := 'xxx@xxx.com.cn'; //发件人信箱
IdMessage1.Subject := 'test'; //标题
IdMessage1.Recipients.EMailAddresses := 'xxx@xxx.com.cn'; //收件人信箱
IdSMTP1.Host := 'mail.o-rid.com'; //smtp服务器地址
IdSMTP1.AuthenticationType := atLogin; //是否需要验证(atLogin表示需要验证)
IdSMTP1.Username := 'xxx'; //用户名
IdSMTP1.Password := 'xxx'; //密码
try
try
IdSMTP1.Connect(); //连接服务器
if IdSMTP1.Connected then
begin
IdSMTP1.Send(IdMessage1); //发信
end;
except on e:Exception do
ShowMessage(e.Message);
end;
finally
//释放资源
IdSMTP1.Disconnect;
IdSMTP1.Free;
IdMessage1.Free;
end;
end;
后记:简单的例子,不过没搞定163的邮箱,提交身份验证也不行,总报错,不知道为什么,不过用公司的邮件服务器发信是成功了的。
2007年3月13日:
今天看到一些资料,似乎163的邮箱还需要把用户名和密码进行BASE64编码转换,尝试中,另外怀疑公司的防火墙也阻挡了邮件的发送,这个练习会拿回家做,等有了结果会再更新,啦啦~
IdSMTP(在Indy Clients标签下),IdMessage(在Indy Misc标签下)
var
body : TStringList;
begin
body := TStringList.Create;
body.Add('test'); //正文
IdMessage1.Body := body;
IdMessage1.From.Address := 'xxx@xxx.com.cn'; //发件人信箱
IdMessage1.Subject := 'test'; //标题
IdMessage1.Recipients.EMailAddresses := 'xxx@xxx.com.cn'; //收件人信箱
IdSMTP1.Host := 'mail.o-rid.com'; //smtp服务器地址
IdSMTP1.AuthenticationType := atLogin; //是否需要验证(atLogin表示需要验证)
IdSMTP1.Username := 'xxx'; //用户名
IdSMTP1.Password := 'xxx'; //密码
try
try
IdSMTP1.Connect(); //连接服务器
if IdSMTP1.Connected then
begin
IdSMTP1.Send(IdMessage1); //发信
end;
except on e:Exception do
ShowMessage(e.Message);
end;
finally
//释放资源
IdSMTP1.Disconnect;
IdSMTP1.Free;
IdMessage1.Free;
end;
end;
后记:简单的例子,不过没搞定163的邮箱,提交身份验证也不行,总报错,不知道为什么,不过用公司的邮件服务器发信是成功了的。
2007年3月13日:
今天看到一些资料,似乎163的邮箱还需要把用户名和密码进行BASE64编码转换,尝试中,另外怀疑公司的防火墙也阻挡了邮件的发送,这个练习会拿回家做,等有了结果会再更新,啦啦~