0

可能重复:
Delphi + Indy:连接正常关闭

我想用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选项或类似的东西?

4

1 回答 1

0

根据这篇文章,这是一个 Delphi 未正确处理的异常。尝试对您的调试器选项进行所示的修改,问题将得到解决。

于 2013-01-24T03:21:53.697 回答