Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SMTP与Delphi发送电子邮件时出现连接超时错误?_Delphi_Delphi 2010 - Fatal编程技术网

使用SMTP与Delphi发送电子邮件时出现连接超时错误?

使用SMTP与Delphi发送电子邮件时出现连接超时错误?,delphi,delphi-2010,Delphi,Delphi 2010,如何使用delphi 2010发送电子邮件地址,例如(验证电子邮件、密码丢失或任何html/纯文本电子邮件) 我尝试使用以下代码,但在尝试发送邮件时收到消息“套接字错误#10060连接超时” procedure TForm5.btnSendMailClick(Sender: TObject); begin //setup SMTP smtppass := ed_IdVerification.Text; SMTP.Host := 'smtp.google.com'; // Controle

如何使用delphi 2010发送电子邮件地址,例如(验证电子邮件、密码丢失或任何html/纯文本电子邮件)

我尝试使用以下代码,但在尝试发送邮件时收到消息“套接字错误#10060连接超时”

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;

您收到的错误表示此行连接失败:
SMTP.Connect()

通常,这意味着端口错误、服务器未启动或您没有连接

在这种情况下,您没有连接,很可能是因为您的ISP正在阻止与该远程端口的连接

尝试从托管的web服务器发送电子邮件


即使你可以连接,你的代码也不能正常工作。谷歌SMTP服务器上的465端口需要一个安全的(SSL)连接。您仍然需要实现这一点。请看:

我不是问如何发送匿名或钓鱼电子邮件,但我想知道如何使用delphi使用SMTP组件,每当新用户注册时,我都需要发送验证电子邮件。您会遇到什么错误?编译器错误?运行时错误?超时不是编译器错误。您的问题含糊不清,无法回答,并且缺少许多有关实际错误的详细信息。此外,您在编辑之前发布的代码的原始版本使您看起来像一个网络钓鱼者,无论您如何编辑此帖子。您看到了吗?project splash_screen.exe触发了一个异常类EIdSocket或带有消息“Socket”的异常类错误#10060连接超时“这可能是错误的。失败是因为gmail使用了安全连接,而海报没有。这与连接或服务器状态无关。(gmail没有经常宕机的习惯。)阅读对原始问题的评论,并按照其中提供的任何一个链接进行操作。:)您可能希望在向下投票开始之前删除此答案。注:我没有投反对票。肯,我没有错。如果连接是安全的,它至少会连接。TLS和SSL“安全连接”位于TCP层之上。我也无法连接,因为我的ISP阻止了。嗯,没有:)我在TB第一次发布时遇到了Thunderbird和配置gmail SMTP的问题,并且出现了连接超时错误。gmail支持帮助我跟踪到配置的安全部分,一旦我弄清楚了,连接超时就消失了。因此,要么TLS设置导致连接超时,要么gmail支持人员决定对我撒谎说gmail关闭了,并用TLS借口将其隐藏起来。:)我在工作中试过这个。当我可以连接时,我会得到一个EIdReadTimeout,但我不使用TLS。当我尝试连接到错误的端口或已知被阻止的端口时,我会收到一个EIdConnectTimeout。确定。我不知道为什么会有这种区别(除非Thunderbird只是使用了一个通用的“超时”消息,而不是通知特定类型的超时——我在读你的最后一条评论时就想到了这一点)。很高兴我没有投反对票。:)我得把它拿回去。我仍然不能肯定你是对的,但至少我不能肯定你是错的