如何使用delphi 2010发送电子邮件地址,例如(verefication email,密码丢失或任何html /纯文本电子邮件。
我尝试使用以下代码,但在尝试发送邮件时我得到EIdSocket Eroor with message 'Socket Error #10060 Connection Timed Out'
。
procedure TForm5.btnSendMailClick(Sender: TObject);
begin
//setup SMTP
smtppass := ed_IdVerification.Text;
SMTP.Host := 'smtp.google.com'; // Controle a distance
SMTP.Port := 465;
smtp.Username := 'hetallica69@gmail.com';
smtp.Password := QuotedStr(smtppass);
//setup mail message
MailMessage.From.Address := 'hetallica69@gmail.com';
MailMessage.Recipients.EMailAddresses := '_rafik@live.fr';
MailMessage.Subject := 'Confirm your account';
MailMessage.Body.Text := 'Text goes here';
//send mail
try
try
if not smtp.Connected then SMTP.Connect() ;
SMTP.Send(MailMessage) ;
except on E:Exception do
ShowMessage(E.Message);
end;
finally
if SMTP.Connected then SMTP.Disconnect;
end;
end;
答案 0 :(得分:4)
您收到的错误表示该行的连接失败:SMTP.Connect()
。
通常,这意味着端口错误,服务器未启动,或者您没有连接。
在这种情况下,您没有连接,很可能是因为您的ISP阻止了与该远程端口的连接。
尝试从托管网络服务器发送电子邮件。
即使您可以连接,您的代码也不会按原样运行。 Google SMTP服务器上的端口465需要安全(SSL)连接。你仍然需要实现它。看看:How do I send e-mail using Gmail's SMTP and Indy 10?