Hola he creado , un archivo procesar.php y verificar.php para conectar los subscriptores a la base de datos mysql. Me funciona el envio de email y la verificacion al pulsar el enlace de verificacion de email pues el estado en la base de datos que le puse por defecto desactivado le cambie activado. Ahora lo que quiero hacer es cada vez que publique una entrada en mi blog enviarsela por correo con un enlace para darse de baja. No se como hacer la funcion con php para que se envie cada vez que publique una nueva entrada en mi blog. este el codigo que tengo en procesar.php
<?phprequire("conexion.php");if(isset($_POST['usuario']) and isset($_POST['email'])){$usuario=$_POST['usuario'];$email=$_POST['email'];$conexion=conectarse();$sql='SELECT * FROM inscripcion WHERE email="'.$email.'"';$resultado=$conexion->query($sql);if($resultado->num_rows>0){ ?>
<script type="text/javascript">
alert("El Email ya existe,introduce otro");
</script>
<?php }else{ $sql='INSERT INTO inscripcion(usuario, email,estado)values ("'.$usuario.'","'.$email.'","desactivado")'; $resultado=$conexion->query($sql); if($resultado){ ?>
<script type="text/javascript">
alert("Usuario Registrado. Recibirás un email de verificación en tu correo");
</script>
<?php $para=$_POST['email']; $asunto="Confirmación de Subscripción al Blog de Ana Castro López"; $mensaje="<html lang='es'> <head> <title>Link de Activación de subscripción al Blog de Ana Castro López</title> <meta charset='UTF-8'/> </head> <body> Gracias por subscribirte a mi Blog. Haz click en el siguiente enlace para confirmar la subscripción <a href=http://anacastrolopez.es/verificar.php?email=$email>Activar</a> </body> </html>"; $cabeceras="MIME-Version: 1.0" . "\r\n"; $cabeceras.= "Content-type:text/html;charset=UTF-8" . "\r\n"; $cabeceras.=" From: <anachanelblanc@gmail.com" ."\r\n"; mail($para,$asunto,$mensaje,$cabeceras);
Hola Cesar gracias por responderme. Aprendo mucho en este foro con tus explicaciones. En la tabla de datos por defecto el usuario lo tengo como desactivado y cuando pincha el link que le envio en el email de confirmación cambia Activado. Ahora cada vez que publico algo quiero que se dispare una función que envie un email con la publicación a todos los usuarios con estado activado. Lo que pretendo es que me envie la publicación a cada correo, no que en el correo por ejemplo de x le aparezca también el de y y el de j. Este es el código que he hecho para esta función, me podrías decir si tengo algo mal en el código. Gracias de antemano.
[code]
<?phprequire('conexion.php');function nueva_publicacion($post_id){$conexion=conectarse(); $resultado=$conexion->query('SELECT email FROM inscripcion WHERE estado="activado" '); if($resultado->num_rows>0){ while($row=$resultado->fetch_assoc()){ $para=$row['email']; $post=get_post($post_id); $author = get_userdata($post->post_author); $mensaje="<html lang='es'> <head> <title>".$title->display_title." </title> <meta charset='UTF-8'/> </head> <body><h2>".$post->post_title." </h2>".$author->display_name." ".$post->post_content; $menaje.="</body><footer><p><a href='http:http://localhost:8888/prueba/baja.php?email=$email'>Para borrar tu subscripcion pincha aqui</a></p>"; $mensaje.="</footer></html>" $cabeceras="MIME-Version: 1.0" . "\r\n"; $cabeceras.= "Content-type:text/html;charset=UTF-8" . "\r\n"; $cabeceras.=" From: <anachanelblanc@gmail.com>" ."\r\n"; $cabeceras.= "CCO: anachanelblanc@gmail.com". "\r\n"; mail($para,$asunto,$mensaje,$cabeceras); } } } add_action('publish_post', 'nueva_publicacion');
[/code]