在delphi中我们使用TIdSMTP控件和TIdMessage控件实现简单的发送邮件
首先向界面拖放如下控件:TIdSMTP,TIdMessage,Button
并依次命名为:idsmtp,idmessage,btnSend
最后在发送按钮控件中添加如下代码:
代码实现如下:
procedure TForm1.btnSendClick(Sender: TObject);
begin
idSMTP.Host := 'smtp.sina.cn'; //邮件发送服务器
try
idSMTP.Connect;
except
ShowMessage('连接到邮箱服务器失败!');
Exit;
end;
idSMTP.AuthenticationType := atLogin; //服务器需验证
idSMTP.UserId := 'chao_song2011@sina.cn'; //邮箱登录帐号
idSMTP.Password := 'sina@521'; //邮箱登录密码
try
idSMTP.Authenticate
except
ShowMessage('登录到邮箱服务器失败!');
idSMTP.Disconnect;
Exit;
end;
idMessage.From.Address := 'chao_song2011@sina.cn'; //发件人
idMessage.Recipients.EMailAddresses := 'songchao@sys-test.com.cn'; //收件人
idMessage.Subject := 'Delphi发送的邮件'; //邮件主题
idMessage.Body.Text := '这里是邮件的正文!'; //邮件内容
try
idSMTP.Send(idMessage);
ShowMessage('邮件发送成功!');
except
ShowMessage('邮件发送失败!');
end;
idSMTP.Disconnect;
end;
需要注意的地方:
idSMTP.Host := 'smtp.sina.cn'; //邮件发送服务器
{
如果是163的邮箱则为:smtp.163.com
如果是新浪的邮箱则为:smtp.sina.cn
如果是sohu的邮箱则为:smtp.sohu.com
}
idSMTP.Host := 'smtp.sina.cn'; //邮件发送服务器
idSMTP.Connect;
idSMTP.AuthenticationType := atLogin; //服务器需验证
idSMTP.UserId := 'xxx@sina.cn'; //邮箱登录帐号
idSMTP.Password := '******'; //邮箱登录密码
idSMTP.Authenticate
idMessage.From.Address := 'xxxxx@sina.cn'; //发件人
idMessage.Recipients.EMailAddresses := 'yyyyy@163.com'; //收件人
idMessage.Subject := 'Delphi发送的邮件'; //邮件主题
idMessage.Body.Text := '这里是邮件的正文!'; //邮件内容
idSMTP.Send(idMessage);
idSMTP.Disconnect;