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] |