【发布时间】:2015-09-22 10:59:27
【问题描述】:
我正在尝试为用 delphi 7 编写的数据库备份代理设置自动电子邮件。 我需要通过基于 Web 的电子邮件系统发送电子邮件,因为无法使用本地 SMTP。 我正在使用的代码返回 Socket Error #10060。
这里是代码。
begin
IdSMTP1 := TIdSMTP.Create(nil);
SSLHandler := TIdSSLIOHandlerSocket.Create(nil);
IdMessage1 := TIdMessage.Create(nil);
try
IdMessage1.From.Address := 'xxx@gmail.com';
IdMessage1.Recipients.EMailAddresses := 'xxx@gmail.com';
IdMessage1.Subject := Memo2.Lines.Text;
IdMessage1.Body.Text := Memo3.Lines.Text;
try
SSLHandler.SSLOptions.Method := sslvTLSv1;
SSLHandler.SSLOptions.Mode := sslmUnassigned;
IdSMTP1.Host := 'smtp.gmail.com';
IdSMTP1.Port := 587;
IdSMTP1.Username := 'xxx@gmail.com';
IdSMTP1.Password := 'xxx';
IdSMTP1.IOHandler := SSLHandler;
IdSMTP1.Connect();
IdSMTP1.Send(IdMessage1);
IdSMTP1.Disconnect;
Finally
IdSMTP1.Free;
end;
finally
IdMessage1.Free;
end;
end;
【问题讨论】:
-
同一台计算机上没有邮件客户端,因为它只是一个运行着一些进程的数据库服务器
-
查看这篇文章了解一些额外的 Indy 配置思路:mikejustin.wordpress.com/2014/07/27/…
-
它不会通过 delphi 7 IDE 从我正在开发它的机器上运行。不过,它将是与服务器相同的网络。
-
您使用的是当前的 Indy 版本吗?
-
我不这么认为但是新版本说它不完整而且我运行的delphi版本很旧,我会试试看。
标签: email delphi smtp gmail delphi-7