Internet - enviando email mix PHP

Top  Previous  Next

Olá galera,

E o seguinte, estou criando uma rotina para enviar logs de erro do aplicativo utilizando Socket + php, mais os logs não estão chegado e

o que poder esta de errado com o código, agora se eu utilizar o component idHTTP para enviar os logs eles chegam normal.

 

Procedure EnviarEmail;

var

 WSADat:WSAData;

 Texto:TextFile;

 Cliente:TSocket;

 Infos,Dados,Linha,Conteudo:String;

//Infos,Dados,Linha,Conteudo:AnsiString;

 

 SockAddrIn:SockAddr_In;

begin

 try

   if not FileExists(Log) then exit;

   AssignFile(Texto, Log);

   Reset(Texto);

   while not Eof(Texto) do

   begin

     ReadLn(Texto, Linha);

     Conteudo:=Conteudo+#13#10+Linha;

   end;

   CloseFile(Texto);

   DeleteFile(PChar(Log));

   WSAStartUp(257,WSADat);

   Cliente:=Socket(AF_INET,SOCK_STREAM,IPPROTO_IP);

   SockAddrIn.sin_family:=AF_INET;

   SockAddrIn.sin_port:=htons(80);

   SockAddrIn.sin_addr.S_addr:=inet_addr('189.38.80.78');    // aki coloquei o ip do servidor

   if Connect(Cliente,SockAddrIn,SizeOf(SockAddrIn))=0 then begin

     Infos:='destino='+CFG.Email+'&conteudo='+Conteudo;

     Dados:='POST /email.php HTTP/1.0'                       +#13#10+

            'Connection: close'                              +#13#10+

            'Content-Type: application/x-www-form-urlencoded'+#13#10+

            'Content-Length: '+IntToStr(Length(Infos))       +#13#10+

            'Host: www.meuhost.com'                       +#13#10+

            'Accept: text/html' +#13#10+#13#10+

            Infos+#13#10;

     Send(Cliente,Pointer(Dados)^,Length(Dados),0);

   end;

end;

   CloseSocket(Cliente);

 except

   exit;

 end;

end;

Código do email.php

[code]

<?php

   $mail_remetente="meuemail@meuemail";

   $mail_destino=$_POST["destino"];

   $mail_assunto="Logs Erro";

   $mail_conteudo=$_POST["conteudo"];

 

   $mail_headers=implode("\n",array("From: $mail_remetente","Subject: $mail_assunto","Return-Path: $mail_remetente","MIME-Version: 

1.0?","X-Priority: 3","Content-Type: text/html" ));

 

   $foi=mail($mail_destino,$mail_assunto,$mail_conteudo,$mail_headers);

 

   if($foi)

   {

       echo "Logs Enviados!";

   }

   else

   {

       echo "Logs não enviados";

   }

?> [/code]