PHP - Enviar formulario por correo

 
Vista:

Enviar formulario por correo

Publicado por Enrique (43 intervenciones) el 19/03/2020 20:41:55
Alguien me podría ayudar a definir las variables?; encontré este código y me encanta porque solo lo pongo y me manda todo por correo, pero el problema es que cuando me llega el correo me aparece un correo raro que es creo por default del servidor, no me aparece el asunto y quisiera solo cambiar eso, si alguien me puede orientar se los agradecería mucho

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
extract($_POST);
 
$aAsunto = "Puse este como asunto pero fallo";
$aDe = "No se si era lo correcto ponerlos así aqui intente poner el e-mail de quien me lo envia";
 
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($oFichero, filesize($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));
}
 
//cambiar aqui el email
if (form_mail("email@email.com", $_POST[asunto],
"Los datos introducidos en el formulario son:\n\n", $_POST[email]))
echo "Su formulario ha sido enviado con exito";
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Enviar formulario por correo

Publicado por Julio (830 intervenciones) el 19/03/2020 21:28:01
Hola.

Puede ser que estés poniendo esto:

1
2
$aAsunto = "Puse este como asunto pero fallo";
$aDe = "No se si era lo correcto ponerlos así aqui intente poner el e-mail de quien me lo envia";

Pero luego no envías $aAsunto y $aDe, sino que estás enviando $_POST[asunto] y $_POST[email] (que están mal escritas además, creo).
-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Enviar formulario por correo

Publicado por Enrique (43 intervenciones) el 19/03/2020 21:36:46
Eso lo puse como un ejemplo de lo que intente modificar pero si había puesto los $_POST y no me funciono, ya logre que aparezca el asunto modificando hasta abajo pero no logro el e-mail del remitente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Enviar formulario por correo

Publicado por Julio (830 intervenciones) el 19/03/2020 21:42:05
Comprueba con un var_dump que le está llegando correctamente el mail que quieres antes de lanzar el mail.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar