Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Enviar por email los datos de un formulario, en un archivo adjunto, con PHP


Vemos como enviar desde un formulario informacion en formato de un archivo por mail con php.


05/11/04 - Formulario html:

<table width="173" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><form name="form1" method="post" action="crea.php">
<table width="173" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Nombre</td>
<td><input name="nombre" type="text" id="nombre"></td>
</tr>
<tr>
<td>Apellido</td>
<td><input name="apellido" type="text" id="apellido"></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Enviar"></td>
</tr>
</table>
</form></td>
</tr>
</table>


crea.php

<?
/* Sistema de envio de mail adjuntos */

/* Desarrollo Viacero www.viacero.com */

$DescriptorFichero = fopen("ficha.txt","w");

$string1 = $nombre.";";
fputs($DescriptorFichero,$string1);

$string2 = $apellido.";";
fputs($DescriptorFichero,$string2);

fclose($DescriptorFichero);


Hasta aqui lo que paso es que recolectamos la info y la guardamos en un archivo txt.

Primero hay que incluir la clase phpmailer para poder instanciar un objeto de la misma

require "includes/class.phpmailer.php";

Instanciamos un objeto de la clase phpmailer al que llamamos, por ejemplo mail.

$mail = new phpmailer();

Definimos las propiedades y llamamos a los métodos correspondientes del objeto mail.

Con PluginDir le indicamos a la clase phpmailer donde se encuentra la clase smtp que como he comentado al principio de este ejemplo va a estar en el subdirectorio includes.

$mail->PluginDir = "includes/";

Con la propiedad Mailer le indicamos que vamos a usar un servidor smtp.

$mail->Mailer = "smtp";

Asignamos a Host el nombre de nuestro servidor smtp.

$mail->Host = "smtp..com.ar";

Le indicamos que el servidor smtp requiere autenticación.

$mail->SMTPAuth = true;

Le decimos cual es nuestro nombre de usuario y password.

$mail->Username = "user";
$mail->Password = "pass";


Indicamos cual es nuestra dirección de correo y el nombre que queremos que vea el usuario que lee nuestro correo.

$mail->From = "nn@nn.com.ar";
$mail->FromName = "nn";


El valor por defecto 10 de Timeout es un poco escaso dado que voy a usar una cuenta gratuita, por tanto lo pongo a 30.

$mail->Timeout=50;

Indicamos cual es la dirección de destino del correo.

$mail->AddAddress("nn@nn.com");

Asignamos asunto y cuerpo del mensaje, el cuerpo del mensaje lo ponemos en formato html, haciendo que se vea en negrita.

$mail->Subject = "sistema de envio";
$mail->Body = "sistema de envio desarrollo viacero.com \n";


Definimos AltBody por si el destinatario del correo no admite email con formato html.

$mail->AltBody = "";
$archivo ="ficha.txt";
$archivo_name = "ficha.txt";
if ($achivo !="none") {
$mail->AddAttachment($archivo,$archivo_name);
}
$exito = $mail->Send();


Si el mensaje no ha podido ser enviado se realizaran 4 intentos mas como mucho para intentar enviar el mensaje, cada intento se hara 5 segundos despues del anterior, para ello se usa la funcion sleep.

$intentos=1;
while ((!$exito) && ($intentos < 5)) {
sleep(5);
//echo $mail->ErrorInfo;
$exito = $mail->Send();
$intentos=$intentos+1;

}

if(!$exito)
{
echo "Problemas enviando correo electrónico a ".$valor;
echo "<br>".$mail->ErrorInfo;
}
else
{
echo "Mensaje enviado correctamente";
}
?>

 Seguir navegando a partir aquí:

+ 1 categoria relacionada
+ 5 comentarios no revisados

 Autoría, licencia y acciones sobre este artículo

Informe de David Castro*
URL: http://www.viacero.com

Atención: Copyright. Este artículo no se puede reproducir sin la autorización expresa del autor.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en Scripts en PHP


 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se han encontrado 5 comentarios sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo



Enlaces:
Maestrosdelweb
  Ir arriba

Categorías
+Scripts en PHP

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia