在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;