Foros del Web » Programando para Internet » PHP »

Ayuda no se como definir el remitente

Estas en el tema de Ayuda no se como definir el remitente en el foro de PHP en Foros del Web. Hola, me encontre este formulario por ahi, pero cuando lo envio no sale la direccion del remitente, en el formulario HTML, pense que habia que ...
  #1 (permalink)  
Antiguo 31/07/2009, 15:17
Avatar de heyimedd  
Fecha de Ingreso: enero-2009
Ubicación: Monterrey
Mensajes: 36
Antigüedad: 15 años, 3 meses
Puntos: 0
Ayuda no se como definir el remitente

Hola, me encontre este formulario por ahi, pero cuando lo envio no sale la direccion del remitente, en el formulario HTML, pense que habia que definir la id=sDe en el campo del e-mail para que llegara con remitente, pero no, hasta el final, si defino "Sitio Web" por "$sDe", me sale vacio me dice que lo envia nobody(arroba)host.etcetc etc entonces quisiera saber si me podrian orientar de como hacer para que aparezca con remitente. saludos



Código PHP:
<?php

    
    
function form_mail($sPara$sAsunto$sTexto$sDe){
        
        
$bHayFicheros 0;
        
$sCabeceraTexto "";
        
$sAdjuntos "";
        
        if (
$sDe)$sCabeceras "From:".$sDe."\n"; else $sCabeceras "";
        
$sCabeceras .= "MIME-version: 1.0\n";

        foreach (
$_POST as $sNombre => $sValor)
             
$sTexto $sTexto."\n".$sNombre." = ".$sValor;
        
        foreach (
$_FILES as $vAdjunto){
             
             if (
$bHayFicheros == 0){
             
                 
$bHayFicheros 1;
                 
                 
$sCabeceras .= "Content-type: multipart/mixed;";
                    
$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";
                    
                    
$sCabeceraTexto "----_Separador-de-mensajes_--\n";
                    
$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";
                    
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";
                    
                    
$sTexto $sCabeceraTexto.$sTexto;

             }
             
             if (
$vAdjunto["size"] > 0){
                                  
                 
$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
                 
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
                    
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
                    
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";                 

             
$oFichero fopen($vAdjunto["tmp_name"], 'r');
                    
$sContenido fread($oFicherofilesize($vAdjunto["tmp_name"]));
                    
$sAdjuntos .= chunk_split(base64_encode($sContenido));
                    
fclose($oFichero);
             }
             
        }
        
        if (
$bHayFicheros)
            
$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";
    
        return(
mail($sPara$sAsunto$sTexto$sCabeceras));
    }
    
    
//Ejemplo de como usar:
    
if (form_mail("dudu(arroba)dudu.com.mx",
                 
"Confirmacion De Pago",
                 
"Los datos introducidos en el formulario son:\n\n",
                 
"Sitio Web"
                 
)
        )
        echo 
"Su formulario ha sido enviado con exito";

?>
  #2 (permalink)  
Antiguo 01/08/2009, 08:06
 
Fecha de Ingreso: junio-2006
Mensajes: 84
Antigüedad: 17 años, 9 meses
Puntos: 1
Respuesta: Ayuda no se como definir el remitente

El remitente es una cabecera.

después de

Código PHP:
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n"
añade

Código PHP:
$sCabeceraTexto .= "From: $remitente\n"
donde $remitente es la direccion de email con este formato

$remitente = "Federico García Lorca <[email protected]>"
  #3 (permalink)  
Antiguo 01/08/2009, 09:19
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: Ayuda no se como definir el remitente

Hola , no has pensando en utilizar phpmailer , es mucho mas simple , mas eficiente y tiene muchisimas opciones de personalización , yo todos los desarrollos que hago y que tienen que mandar emails , van via phpmailer.

link: http://phpmailer.sourceforge.net.

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:59.