使用delphi发送邮件(连接正常关闭)
可能重复:使用delphi发送邮件(连接正常关闭),delphi,email,smtp,gmail,Delphi,Email,Smtp,Gmail,可能重复: 我想用delphi发送一些电子邮件,我有一个小代码: procedure TForm1.Button1Click(Sender: TObject); var i : integer; begin IdMsgSend := TIdMessage.Create(nil); SSLHandler :=TIdSSLIOHandlerSocketOpenSSL.Create(nil); try with IdMsgSend do begin Conten
我想用delphi发送一些电子邮件,我有一个小代码:
procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
begin
IdMsgSend := TIdMessage.Create(nil);
SSLHandler :=TIdSSLIOHandlerSocketOpenSSL.Create(nil);
try
with IdMsgSend do
begin
ContentType := 'text/plain';
Body.Text := 'Test test text';
From.Text := 'USERNAME@gmail.com';
ReplyTo.EMailAddresses := 'Recipient@server.com';
Recipients.EMailAddresses := 'Recipient@server.com';
Subject := 'i just came to say hello';
end;
SMTP := TIdSMTP.Create(nil);
try
SMTP.Username := 'USERNAME@gmail.com';
SMTP.Password := 'PASSWODD';
SMTP.Host := 'smtp.gmail.com';
SMTP.Port := 465;
SMTP.IOHandler := SSLHandler;
SSLHandler.SSLOptions.Method := sslvSSLv3;
SMTP.UseTLS := utUseExplicitTLS;
SMTP.Connect;
try
IdMsgSend.Body.Text := 'The body';
IdMsgSend.Subject := 'The subject';
SMTP.Send(IdMsgSend);
finally
SMTP.Disconnect;
end;
finally
FreeAndNil(SMTP);
end;
finally
FreeAndNil(IdMsgSend);
end;
end;
它过去工作得很好!现在,每次尝试发送电子邮件时,我都会在SMTP.send(IdMsgSend)
处收到此错误:
连接正常关闭
我读到它可能来自防病毒或防火墙,所以我禁用了它们,但仍然是相同的问题
这里怎么了?gmail是否更改了SMTP选项或类似的内容?根据,这是一个Delphi无法正确处理的异常。尝试对调试器选项进行所示的修改,问题将得到解决。在那篇文章之后,错误不会出现,但电子邮件不会发送too@jachguate我说我禁用了抗病毒病毒和防火墙,所以没有任何东西被阻止,+我测试了gmail和hotmail,所以没有服务器问题我没有说有什么东西被阻止了,看起来是同一个问题。由于服务器防病毒或其他反垃圾邮件措施,服务器可能正在关闭连接。你记录传输了吗?它总是在同一点关闭?你有另一台计算机来比较结果吗?@jachguate我说因为我已经读过这个问题,他们回答是:/,没有,我没有记录传输,是的,它总是在同一点关闭,没有,我没有另一台计算机记录它,只有在检查不同运行的日志后,您才能知道它是否在同一点关闭。@您可以使用TIdLogFile并将其附加到TIdSMTP.Intercept属性,以便从应用程序内部将客户机/服务器对话记录到文件中。或者您可以使用Wireshark或其他嗅探工具在机器级别执行此操作。