Fórum Indy - Envio de Mensagem pelo Servidor #343008
26/06/2007
0
Como posso mandar mensagens do Servidor para o Cliente sem ser requisitado?
Uso Delphi 7.
Obrigado. :D
Rodfernandes
Curtir tópico
+ 0Posts
26/06/2007
Ant.carlos/sp
:D
Email := Sql_DadosEmail.Value;
Anexo := ´C:\ACEINFO\E-MAIL\´+Nomarq;
Envia_Email(Ed_Assunto.text,ed_Mensagem.Text,Email,Anexo);
:)
//------------------------------------//
// Função envia e-mail //
//------------------------------------//
Function Envia_Email(Assunto:String; Mensagem:String;Email:String; Anexo:String):Boolean;
Var Msg : String;
IdMsgSend: TIdMessage;
SMTP : TIdSMTP;
Smtpx : String;
Begin
Try
Result := True;
IdMsgSend := TIdMessage.Create(Nil);
SMTP := TIdSMTP.Create(Nil);
// Mensagem
IdMsgSend.Subject := Assunto; //...´teste de email - Assunto´;
IdMsgSend.Body.Text := Mensagem; //...´Teste de Email - Ace-Informatica´;
// Remetente
idMsgSend.From.Address := DMEMP.Sql_PesqEmpadraoEmail.value; //...´aceinfo2004@itelefonica.com.br´;
idMsgSend.From.Name := DMEMP.Sql_PesqEmpadraoFantasia.value; //...´Antonio Carlos´;
IdMsgSend.ReplyTo.EMailAddresses := DMEMP.Sql_PesqEmpadraoEmail.value; //´aceinfo2004@itelefonica.com.br´;
// Destinatario
IdMsgSend.Recipients.EMailAddresses := Email; //...´aceinfo2004@itelefonica.com.br´;
// Copias
//idMsgSend.CCList.EMailAddresses := ´teste@teste.com.br, teste@terra.com.br´;
// Copias Ocultas
//idMsgSend.BccList.EMailAddresses := ´teste@teste.com.br; teste@terra.com.br´;
// Anexa um arquivo
IF Trim(Anexo) > ´´ Then Begin
TIdAttachment.Create(idMsgSend.MessageParts,Anexo);
//TIdAttachment.Create(idMsgSend.MessageParts,´c:\config.sys´);
End;
// Autenticacao - Use apenas quando o servidor exigir
IF (Trim(DMEMP.Sql_PesqEmpadraoUser_name.value) > ´´) and (Trim(DMEMP.Sql_PesqEmpadraoSenha.value) > ´´) Then Begin
SMTP.AuthenticationType := atLogin;
SMTP.Username := DMEMP.Sql_PesqEmpadraoUser_name.value; //...´aceinfo2004´;
SMTP.Password := DMEMP.Sql_PesqEmpadraoSenha.value; //...´d05m11´;
End;
// Dados do Servidor
Smtpx := ´´;
IF Copy(Trim(DMEMP.Sql_PesqEmpadraoHost.value),1,4) <> ´smtp´ Then
Smtpx := ´smtp.´;
SMTP.Host := Smtpx+Trim(DMEMP.Sql_PesqEmpadraoHost.value); //...´smtp.itelefonica.com.br´;
SMTP.Port := 25;
Try
SMTP.Connect;
try
SMTP.Send(IdMsgSend);
finally
SMTP.Disconnect;
end;
Except
Msg := ´Erro ao enviar E-Mail.´+#13+´Favor verificar se a internet está Conectada...´;
Application.MessageBox(Pchar(Msg),´Erro´,MB_Ok+mb_IconError);
Result := False;
End;
Finally
FreeAndNil(IdMsgSend);
FreeAndNil(SMTP);
End;
End;
Gostei + 0
26/06/2007
Ant.carlos/sp
Use as seguintes Bibliotecas
---------------------------
uses
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP, IdMessage, IdAntiFreezeBase,
IdAntiFreeze, IdIntercept, IdLogBase, IdLogEvent;
---------------------------
Gostei + 0
26/06/2007
Massuda
Gostei + 0
27/06/2007
Rodfernandes
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)