Resulta que encontré un script de lista de correo y el mail lo manda como si no hubiera remitente, osea en megaciudad.com lo envia como Nobody <[email protected]>
Quisiera saber donde modificar para enviarlo con el mail que yo quiera y el nombre que yo quiera. El codigo es este:
Código PHP:
<?
//Este script sirve para darse de ALTA/BAJA de una lista de correo
//Envía mails de acuerdo con alta/baja
function alta_baja($tipo,$mail,$enviar)
{
include("config.php");
$fecha=time();
if($enviar)
{
if ($tipo=="_altas") //el usuario se quiere dar de alta
{
//ver si ese mail ya esta suscrito
$resp = mysql_query("select * from lista where mail='$mail'");
$resp2 = mysql_fetch_array($resp);
if($resp2[0]==$mail)
{
echo "<p>Según mis datos ya esta suscrito.</p>";
}
else
{
//insertar en tabla temporal
$numero = substr(md5(rand()),0,10);
mysql_query("insert into lista_altas (mail,fecha,numero) values ('$mail','$fecha','$numero')");
//enviar mail de confirmación
$enlace=$url."/lista.php?op=confirmar_alta&mail=$mail&numero=$numero";
$mensaje="Su mail: ".$mail." ha sido subcrito a la lista de correo.\nDebe visitar este enlace ".$enlace." para confirmarlo.\nSino deseada estar en esta lista de correo por favor ignore este mail.\nGracias.";
mail($mail,"Darse de alta en lista de correo",$mensaje);
echo "<p>Se ha enviado un mail de confirmación de alta.</p>";
}
}
elseif ($tipo=="_bajas") //el usuario se quiere dar de baja
{
//ver si esta inscrito
$resp = mysql_query("select * from lista where mail='$mail'");
$resp2 = mysql_fetch_array($resp);
if($resp2[0]!=$mail)
{
echo "<p>Según mis datos no esta suscrito.</p>";
}
else
{
//insertar en tabla temporal
$numero = substr(md5(rand()),0,10);
mysql_query("insert into lista_bajas (mail,fecha,numero) values ('$mail','$fecha','$numero')");
//enviar mail de confirmación
$enlace=$url."/lista.php?op=confirmar_baja&mail=$mail&numero=$numero";
$mensaje="Su mail: ".$mail." quiere darse de baja de la lista de correo.\nDebe visitar este enlace ".$enlace." para confirmarlo.\nSino deseada estar en esta lista de correo por favor ignore este mail.\nGracias.";
mail($mail,"Darse de baja en lista de correo",$mensaje);
echo "<p>Se ha enviado un mail de confirmación de baja.</p>";
}
}
else
{
echo "<p>Debería haber seleccionado una opción.</p>";
}
}
else
{
echo "<p>No se puede acceder directamente a esta parte.</p>";
}
}
//Para que el usuario confirme el alta
function confirmar_alta($mail,$numero)
{
include("config.php");
//Leer mail y código
$resp = mysql_query("select * from lista_altas where mail='$mail'");
$resp2 = mysql_fetch_array($resp);
if(($mail!="") && ($numero!=""))
{
if(($resp2[0]==$mail) && ($resp2[2]==$numero))
{
//suscribirse a la lista
mysql_query("insert into lista (mail) values ('$mail')");
echo "<p>Su subcripción se ha completada con exito.</p>";
$mensaje=$mail."se ha dado de alta en la lista de correo";
mail($mail_enviar,"Alta en lista de correo",$mensaje);
mysql_query("delete from lista_altas where mail='$mail'");
}
else
{
echo "<p>Hay algun fallo.</p>";
}
}
else //intenta entrar directamente
{
header("location: index.php");
}
}
//Para que el usuario confirme la baja
function confirmar_baja($mail,$numero)
{
include("config.php");
//Leer mail y código
$resp = mysql_query("select * from lista_bajas where mail='$mail'");
$resp2 = mysql_fetch_array($resp);
if(($resp2[0]==$mail) && ($resp2[2]==$numero))
{
//dessuscribirse a la lista
mysql_query("delete from lista where mail='$mail'");
echo "<p>Su subcripción se ha borrado con exito.</p>";
$mensaje=$mail."se ha dado de baja en la lista de correo";
mail($mail_enviar,"Baja en lista de correo",$mensaje);
mysql_query("delete from lista_bajas where mail='$mail'");
}
else
{
echo "<p>Hay algun fallo.</p>";
}
}
//Para borrar a usuarios que pusieron datos y no han confirmado
function borrar_viejos()
{
include("config.php");
//el tiempo en minutos para considerar que se a de dar de alta
$tiempo=1440;
//fecha actual
$fecha=time();
//fecha para considerales fuera de línea
$limite = $fecha-$tiempo*60;
//borrar usuarios antiguos
mysql_query("delete from lista_altas where fecha < $limite");
mysql_query("delete from lista_bajas where fecha < $limite");
}
//Función formulario para añadir/quitar correo
function main()
{
echo "<p>Ponga su mail.</p>\n";
echo "<form method=\"post\" action=\"$PHP_SELF?op=alta_baja\">\n";
echo "<p>\n";
echo "<input type=\"text\" name=\"mail\" /><br />\n";
echo "<input type=\"radio\" name=\"tipo\" value=\"_altas\" />Alta ";
echo "<input type=\"radio\" name=\"tipo\" value=\"_bajas\" />Baja<br />";
echo "<input type=\"submit\" name=\"enviar\" value=\"Entrar\" />\n";
echo "</p>\n";
echo "</form>\n";
}
//Para pedir contraseña y ver los usuarios inscritos
function ver()
{
echo "<p>Para ver inscritos.</p>\n";
echo "<form method=\"post\" action=\"$PHP_SELF?op=ver2\">\n";
echo "<p>\n";
echo "Contraseña:<br />\n";
echo "<input type=\"password\" name=\"contrasena_ver\" /><br /><br />\n";
echo "<input type=\"submit\" name=\"enviar_ver\" value=\"Enviar\" />\n";
echo "</p>\n";
echo "</form>\n";
}
//Para ver los usuarios inscritos
function ver2($enviar_ver,$contrasena_ver)
{
if($enviar_ver)
{
include("config.php");
if($contrasena_ver==$dbpass)
{
include("config.php");
$resp2 = mysql_query("select * from lista");
echo "<p><b>Usuarios inscritos</b><br />";
while($datos2 = mysql_fetch_array($resp2))
{
echo "$datos2[mail]<br />";
}
echo "<br />\n";
}
else
{
header("location: lista.php");
}
}
else
{
header("location: lista.php");
}
}
//Para pedir contraseña y preparar mail
function enviar()
{
echo "<p>Para mandar un mensaje.</p>\n";
echo "<form method=\"post\" action=\"$PHP_SELF?op=enviar2\">\n";
echo "<p>\n";
echo "Asunto:<br />\n";
echo "<input type=\"text\" name=\"asunto\" /><br />\n";
echo "Mensaje:<br />\n";
echo "<textarea name=\"mensaje\" cols=\"30\" rows=\"5\"></textarea><br />\n";
echo "Contraseña:<br />\n";
echo "<input type=\"password\" name=\"contrasena_enviar\" /><br /><br />\n";
echo "<input type=\"submit\" name=\"enviar_enviar\" value=\"Enviar\" />\n";
echo "</p>\n";
echo "</form>\n";
}
//Para mandar mail
function enviar2($enviar_enviar,$contrasena_enviar,$asunto,$mensaje)
{
if($enviar_enviar)
{
include("config.php");
if($contrasena_enviar==$dbpass)
{
include("config.php");
$resp2 = mysql_query("select * from lista");
while($datos2 = mysql_fetch_array($resp2))
{
if($mail_listado=="")
{
$mail_listado=$datos2[mail];
}
else
{
$mail_listado=$mail_listado.",".$datos2[mail];
}
}
$header ="Bcc: ".$mail_listado."\r\n";
mail(null,$asunto,$mensaje,$header);
echo "<p>Mail enviado con éxito.</p>\n";
}
else
{
header("location: lista.php");
}
}
else
{
header("location: lista.php");
}
}
//Para segundo pie
function fin()
{
echo "<p>";
echo "<span class=\"pequeno\">";
echo "[<a href=\"$PHP_SELF?op=main\">Lista de correo</a>] \n";
echo "[<a href=\"$PHP_SELF?op=ver\">Ver inscritos</a>] \n";
echo "[<a href=\"$PHP_SELF?op=enviar\">Enviar mail</a>] \n";
echo "</span>";
echo "</p>\n";
}
//Inicio de la página
function meta()
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<?
}
//Inicio del body
function cabecera()
{
?>
</head>
<body>
<?
}
//Fin del body
function pie()
{
?>
</body>
</html>
<?
}
switch($op)
{
case "alta_baja":
meta();
echo "<title>Lista de correo</title>\n";
cabecera();
borrar_viejos();
alta_baja($tipo,$mail,$enviar);
fin();
pie();
break;
case "confirmar_alta":
meta();
echo "\n<title>Confirmar el alta</title>\n";
cabecera();
borrar_viejos();
confirmar_alta($mail,$numero);
fin();
pie();
break;
case "confirmar_baja":
meta();
echo "\n<title>Confirmar la baja</title>\n";
cabecera();
borrar_viejos();
confirmar_baja($mail,$numero);
fin();
pie();
break;
case "ver":
meta();
echo "\n<title>Ver inscritos</title>\n";
cabecera();
ver();
fin();
pie();
break;
case "ver2":
meta();
echo "\n<title>Ver inscritos</title>\n";
cabecera();
ver2($enviar_ver,$contrasena_ver);
fin();
pie();
break;
case "enviar":
meta();
echo "\n<title>Enviar mail</title>\n";
cabecera();
enviar();
fin();
pie();
break;
case "enviar2":
meta();
echo "\n<title>Enviar mail</title>\n";
cabecera();
enviar2($enviar_enviar,$contrasena_enviar,$asunto,$mensaje);
fin();
pie();
break;
default:
meta();
echo "<title>Lista de correo</title>\n";
cabecera();
borrar_viejos();
main();
fin();
pie();
break;
}
?>