Cómo enviar un correo electrónico masivo en lotes de PHP

Escrito por allen bethea Google | Traducido por daniel cardona
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo enviar un correo electrónico masivo en lotes de PHP
Los scripts PHP hacen posibles las campañas por correo electrónico en masa. (Comstock/Comstock/Getty Images)

Hypertext Preprocessor (PHP) es un lenguaje de scripts completamente equipado con funciones integradas para realizar casi cualquier tarea que un desarrollador web tenga que realizar. El kit de herramientas PHP incluye una función de correo electrónico, capacidades de procesamiento de matrices, estructuras de control en bucle y los medios necesarios para leer y escribir archivos locales. Un desarrollador web puede combinar estas herramientas y crear un script PHP que realice correos electrónicos masivos. La división de una tarea de correo electrónico masivo en pequeños lotes te permite trabajar dentro de los límites de tu servidor web en el uso de sus aplicaciones de correo electrónico de envío de correo o de otra índole.

Nivel de dificultad:
Moderado

Otras personas están leyendo

Necesitarás

  • Editor de texto
  • Acceso a un servidor web con PHP instalado
  • Aplicación de protocolo de transferencias de archivos o File Transfer Protocol (FTP)

Lista completaMinimizar

Instrucciones

  1. 1

    Ejecuta la aplicación estándar de texto plano que está disponible en el equipo.

  2. 2

    Escribe el siguiente código en el editor de texto: <?php // lista de correos electrónicos -- pueden guardarse en una base de datos $list[0]="sndrowjaw@cuttee.com"; $list[1]="pi23maryd@juno.com"; $list[2]="ba3yyyy1@cuttee.com"; $list[3]="cibolhophabolh@mboln.com"; $list[4]="qoydrter@aok1.com"; $list[5]="ckebolboled245@blaboltmail.com"; $list[6]="coccy.foreman@gaik.com"; $list[7]="zoggit@aok.com"; $list[8]="cpmcdona@drokina.rr.com"; $list[9]="trobole@coice-wi23ibol.com"; $liststep=2; // number of emails to send out at a time $TotalAddresses=10; $myFile = "listcount.txt";

    // revisa la existencia de un archivo de conteo. Si no existe, lo crea // Si existe, carga el contador, lo incrementa y lo pasa a una rutina de correo if (file_exists($myFile)) { $fh = fopen($myFile, 'r'); $count=intval(fgets($fh)); $count=$count+$liststep; fclose($fh); $fh = fopen($myFile, 'w'); fwrite( $fh,$count); fclose($fh); } else { $fh =fopen($myFile, 'x'); $count=$liststep; fwrite($fh, $count); fclose($fh); } // tu correo electrónico y el asunto $email='myorganization@myemailservice.com'; $subject="meeting announcement";

    // encabezado para indicar dónde y a quién se le debe responder el correo $headers = 'From: ' . $email . "\r\n" . 'Reply-To: ' . $email . "\r\n" ;

    $themessage='Este es mi mensaje. Debe ser HTML también: sólo tienes que observar las comillas sencillas y dobles';

    // rutina del correo // esta sección se repite por la lista de direcciones hasta que la cuenta llega a 10 // retira el comentario de la función mail() cuando estés listo para enviar los correos. if ($count<$TotalAddresses) { for ($n=0;$n<$count;$n++) { // $result=mail($list[$n], "Meeting Invitation", $themessage,$headers); if ($result=True) { echo $list[$n].' sent! '; // if the mail function is successful } } } ?>

  3. 3

    Haz clic en el menú archivo. Selecciona la opción "Guardar". Guarda con el nombre de archivo "test.php".

  4. 4

    Hazclic en el menú Archivo y selecciona "Quit" o "Salir" para cerrar el editor de texto.

  5. 5

    Inicia la aplicación FTP e inicia sesión en el servidor web.

  6. 6

    Carga los archivos "test.php" en el directorio raíz del servidor web.

  7. 7

    Abre el navegador web e introduce el adecuado Uniform Resource Locator o ubicador de recursos uniformes (URL) para acceder al archivo PHP. Por ejemplo, escriba: yourdomainname.com / test.php. Reemplazar "yourdomainname.com" con el nombre de dominio o protocolo de Internet (IP) del servidor web.

  8. 8

    Pulsa la tecla Intro para cargar la URL y ejecuta el archivo PHP. El navegador debe mostrar cada dirección de correo electrónico enviada correctamente a la utilidad de envío de correo de la red.

Consejos y advertencias

  • Linux, OS X, BSD y los servidores UNIX tienen una utilidad estándar, cron, que es posible usar para enviar un lote de correo electrónico a intervalos regulares. Los servidores Windows pueden o no pueden tener una utilidad cron o parecida a cron que pueda utilizar. Cron se ejecuta en la mayoría de los sistemas como un proceso en segundo plano o demonio. Cron comprueba si un trabajo se debe ejecutar todos los días, cada hora, semanalmente o mensualmente. Habla con el administrador del sistema acerca de cómo ejecutar un script de cron cada hora o personalizadas para enviar tus mensajes de correo electrónico en pequeñas cantidades durante todo el día.
  • Además de limitar el número de mensajes que puedes enviar por día, algunos servidores web pueden incluso limitar cuántos correos electrónicos se pueden enviar por hora. Si la función mail() se llama con demasiada rapidez, el servidor puede pasar por alto algunos correos electrónicos o bloquear tu capacidad de correo electrónico por completo. La función unsleep() de PHP puede ser usada para retrasar el envío de correo electrónico a una velocidad aceptable. La cantidad de demora es en millonésimas de segundo. Inserta usleep() en algún lugar después de la función mail() como "unsleep(2000000)" para un retardo de dos segundos entre envíos.

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles