ola pessoal, espero que todos estejam bem..

estou com o seguinte problema: 

tenho um programa que gera um relatório de contrato de compra e venda e o 
programa tb faz o envio desse contrato por e-mail, porém, esse contrato não 
pode ser alterado, então transformo em uma imagem e jogo num arquivo .doc..até 
ai tudo bem, porém, hoje faço o envio através da seguinte rotina :

procedure TDMGeral.EnviarPorEMail(Assunto, Arquivo: String; varPara,varCC: 
TStringList; Mensagem : TStringList);
var
   NomeArquivo : string;
   ArqIni : TIniFile;
begin
   ArqIni := 
TIniFile.Create(ExtractFilePath(Application.ExeName)+'\MailCFG.Ini');

   if ArqIni.ReadString('MailConfig', 'Servidor','') = '' then
      Raise Exception.Create('O servidor não foi informado!');

   if Assunto = '' then
      Raise Exception.Create('O assunto da mensagem não foi informado!');

   Mail := TNMSMTP.Create(nil);

   TRY
      NomeArquivo := Arquivo;

      with Mail.PostMessage do
      begin
         if ArqIni.ReadString('MailConfig', 'Email','') <> '' then
            FromAddress := ArqIni.ReadString('MailConfig', 'Email','')
         else
            Raise Exception.Create('Informe corretamente o e-mail do 
remetente!');

         if ArqIni.ReadString('MailConfig', 'NomeExib','') <> '' then
            FromName := ArqIni.ReadString('MailConfig', 'NomeExib','')
         else
            FromName := FromAddress;

         ToCarbonCopy := varCC;
         ReplyTo := FromAddress;

         if varPara.Count >= 0 then
//            ToAddress.Add(varPara)
            ToAddress := varPara
         else
            Raise Exception.Create('O e-mail do destinatário não foi 
informado');

         Subject := Assunto;

         Body.Assign(Mensagem);
         Attachments.Add(NomeArquivo);

        { if FEnviaMail.chIncluir.Checked then
            Attachments.Add('QRView\setup.exe'); }
      end;
      Mail.Host := ArqIni.ReadString('MailConfig', 'Servidor','');
      Mail.UserID := ArqIni.ReadString('MailConfig', 'Login','');
      Mail.Port := ArqIni.ReadInteger('MailConfig', 'Porta',0);
      Mail.Connect;
      Mail.SendMail;
      Mail.Disconnect;
      Mail.Free;
     { if FileExists(NomeArquivo) then
         DeleteFile(NomeArquivo); }
   EXCEPT
      if Mail.Connected then
         Mail.Disconnect;
      Mail.Free;
      if (FEnviaMail.chIncluir.Checked) AND (FileExists(NomeArquivo)) then
         DeleteFile(NomeArquivo);
      Raise;
   END;
end;

até então funcionava perfeitamente, porém, alguns provedores mudaram pra 
segurança ssl, e ai o sistema começou a dar o seguinte erro:

530 5.7.0 Must issue a STARTTLS command first 21sm1010610agd.21

ALGUÉM PODE ME DAR UMA LUZ SE EXISTE UMA FORMA MAIS FÁCIL DE FAZER O ENVIO OU 
SE TEM COMO EU CORRIGIR ESSE ERRO???

desde já, antecipo meus agradecimentos...

abraços a todos...

Junior

[As partes desta mensagem que não continham texto foram removidas]

Responder a