Cuando enviamos un mailing conteniendo html cargado desde una página web ( usando [URL:http://website/file.html] en el contenido del mensaje ) podemos tener problemas si no tenemos en cuenta que PHPList realiza una copia en su caché del primer archivo que usamos y la mantiene el tiempo establecido en la variable 'REMOTE_URL_REFETCH_TIMEOUT'
Por lo que si por cualquier motivo lo modificamos e intentamos reenviar el nuevo, el sistema seguirá usando el primer archivo hasta que haya pasado el tiempo definido en la variable que se establece en el archivo config.php
Para modificar los parámetros por defecto, simplemente buscaremos en el archivo config.php de nuestra instalación de PHPList la línea:
define('REMOTE_URL_REFETCH_TIMEOUT',3600);
Y reemplazaremos los 3600 segundos por el tiempo que consideremos oportuno.
Mostrando entradas con la etiqueta email marketing. Mostrar todas las entradas
Mostrando entradas con la etiqueta email marketing. Mostrar todas las entradas
miércoles, 11 de abril de 2012
lunes, 30 de enero de 2012
PHPList: Error "Process Killed by other process"

Process Killed by other process
(...)
Database error 2006 while doing query MySQL server has gone away
Puede solucionarse reemplazando los segundos en la siguiente línea del archivo config/config.php
define('MAILQUEUE_THROTTLE',1);
Parece ser que en muchos hosts compartidos se configura el servidor MySQL para que cualquier consulta de más de 10 segundos se cancele de forma automática. Generalmente un número inferior a 10 suele ser adecuado.
Etiquetas:
email marketing,
MySQL,
phplist,
Servidores
martes, 10 de mayo de 2011
phplist: Como procesar rebotes
En las siguientes líneas se explica como realizar un procesado de los emails rebotados en phplist
Descargar rebotes
Iremos a la sección "procesar rebotes" y esperaremos a que haya finalizado el proceso de descarga de los rebotes. Con esto tendremos en nuestro sistema todos los emails de los rebotes que se hayan podido producir durante anteriores mailings.
Gestionar rebotes
Iremos a la sección "ver rebotes"
Pincharemos en "mostrar" del primer correo rebotado que aparezca en la lista y a partir de ese momento ya podemos empezar a procesar los rebotes.
En el cuerpo del mensaje aparecerá el motivo del rebote. Generalmente tendremos errores de buzón inexistente, errores temporales y errores de dominio inexistente.
Normalmente en los errores de tipo buzón inexistente pondrá algo como lo siguiente:
Para este tipo de error procederemos a eliminar al usuario de phplist y a dar de baja su cuenta de email de todas nuestras bases de datos.
En los errores temporales normalmente pondrá cosas como:
Estos errores no los tendremos en cuenta a menos que se repitan varias veces seguidas para un mismo usuario.
En los errores de dominio inexistente pondra cosas como:
Para este tipo de error procederemos a eliminar al usuario de phplist y a dar de baja su cuenta de email de nuestra base de datos.
Detalles a considerar
Por otra parte tenemos que tener en cuenta que muchas veces se cometen errores tipográficos al escribir la dirección de email y es frecuente encontrar emails de tipo hotamil.com, gmial,com, yaho.com y cosas por el estilo y simplemente cambiando unas letras en el email se consigue restaurar la dirección de email. Por lo que es conveniente que prestar atención a este detalle antes de borrar un email por inválido.
Descargar rebotes
Iremos a la sección "procesar rebotes" y esperaremos a que haya finalizado el proceso de descarga de los rebotes. Con esto tendremos en nuestro sistema todos los emails de los rebotes que se hayan podido producir durante anteriores mailings.
Gestionar rebotes
Iremos a la sección "ver rebotes"
Pincharemos en "mostrar" del primer correo rebotado que aparezca en la lista y a partir de ese momento ya podemos empezar a procesar los rebotes.
En el cuerpo del mensaje aparecerá el motivo del rebote. Generalmente tendremos errores de buzón inexistente, errores temporales y errores de dominio inexistente.
Normalmente en los errores de tipo buzón inexistente pondrá algo como lo siguiente:
- mailbox unavailable
- No Such User Here
- No such user
- The email account that you tried to reach does not exist
- This user doesn't have account
- does not like recipient
- invalid mailbox
- user not found
- Recipient address rejected
- User unknown in virtual mailbox table
- User unknown in virtual alias table
- This account has been disabled or discontinued
Para este tipo de error procederemos a eliminar al usuario de phplist y a dar de baja su cuenta de email de todas nuestras bases de datos.
En los errores temporales normalmente pondrá cosas como:
- Temporary local problem
- please try later
- this message has been in the queue too long.
- Mailbox disk quota exceeded
Estos errores no los tendremos en cuenta a menos que se repitan varias veces seguidas para un mismo usuario.
En los errores de dominio inexistente pondra cosas como:
- Sorry, I couldn't find any host named
- Sorry, I wasn't able to establish an SMTP connection
Para este tipo de error procederemos a eliminar al usuario de phplist y a dar de baja su cuenta de email de nuestra base de datos.
Detalles a considerar
Por otra parte tenemos que tener en cuenta que muchas veces se cometen errores tipográficos al escribir la dirección de email y es frecuente encontrar emails de tipo hotamil.com, gmial,com, yaho.com y cosas por el estilo y simplemente cambiando unas letras en el email se consigue restaurar la dirección de email. Por lo que es conveniente que prestar atención a este detalle antes de borrar un email por inválido.
Siguiendo estas directrices cualquier persona debería poder realizar un correcto filtrado de las direcciones que han producido los rebotes y de esta forma mantener en buen estado su base de datos de usuarios.
phplist: Añadir de forma manual usuarios a la lista negra o "blacklist"
La aplicación para la gestión de listas de correo phplist tiene en todas sus versiones una carencia importante que es la de poder incluir en su blacklist de forma manual direcciones de email.
Oficialmente eso se puede hacer desde el formulario de des-suscripción del usuario pero el sistema notifica al usuario la baja por email y esto puede no interesar al administrador de la lista para determinados usuarios de tipo competencia, etc.
También hay que tener en cuenta otra carencia importante que es el que no se puedan añadir direcciones en masa a la lista negra, ya que solo hay la posibilidad de hacerlo una a una.
Con esta pequeña modificación del archivo /admin/massunconfirm.php podemos hacer que desde el menú de gestión de usuarios manage users > mass uncorfirm users se pueda además de des-confirmar usuarios incluirlos en la lista negra.
Hay que tener en cuenta que según la configuración del sistema, pueden tardar un tiempo en aparecer en la blacklist los usuarios, por lo que la revisión la deberemos hacer pasados unos minutos.
Esto es lo que tendrá que contener el archivo /admin/massunconfirm.php
<?phprequire_once dirname(__FILE__).'/accesscheck.php';
//userlib for blacklist functioninclude_once dirname(__FILE__).'/commonlib/lib/userlib.php';$massblacklist = $_POST["massblacklist"];
if (!$_SESSION['logindetails']['superuser']) { print $GLOBALS['I18N']->get('Sorry, this page can only be used by super admins'); return;}
if ($_POST['unsubscribe']) { $emails = explode("\n",$_POST['unsubscribe']); $count = 0; $unsubbed = 0; $blacklisted = 0; foreach ($emails as $email) { $email = trim($email); $count++;
if ($massblacklist == true) { //added user to the blacklist if massblacklist checkbox is true; addUserToBlackList($email, 'Admin Blacklisted'); $blacklisted++; } else { Sql_Query(sprintf('update %s set confirmed = 0 where email = "%s"',$GLOBALS['tables']['user'],$email)); $unsubbed += Sql_Affected_Rows(); }
} printf($GLOBALS['I18N']->get('All done, %d emails processed, %d emails marked unconfirmed, %d emails blacklisted<br/>'),$count,$unsubbed,$blacklisted); return;}?>
<form method=post action=""><h1><?php echo $GLOBALS['I18N']->get('Mass unconfirm email addresses')?></h1><p><?php echo $GLOBALS['I18N']->get('Paste the emails to mark unconfirmed in this box, and click continue')?></p><p><?php echo $GLOBALS['I18N']->get('MassBlacklist:')?><input type="checkbox" value="massblacklist" name="massblacklist[]"></p><input type=submit name="go" value="<?php echo $GLOBALS['I18N']->get('Continue')?>"><br/><textarea name="unsubscribe" rows=30 cols=40></textarea></form>
Esta modificación ha sido probada y funciona correctamente al menos en las siguientes versiones de esta aplicación:
- phplist 2.10.9
- phplist 2.10.10
- phplist 2.10.11
- phplist 2.10.12
- phplist 2.10.13
Suscribirse a:
Entradas (Atom)