Integrar wordpress con correo

De HackLab
Saltar a: navegación, buscar


La idea es que todos lxs usuarixs de una instalación de wordpress tengan redirecciones de correo del sitio, de forma que si soy fauno en http://wp.hackcoop.com.ar, me puedan escribir a fauno@wp.hackcoop.com.ar y me llegue a mi cuenta personal.

Postfix

En main.cf

 alias_maps = hash:/etc/postfix/aliases,
              mysql:/etc/postfix/wordpress_aliases.cf

En /etc/postfix/wordpress_aliases.cf

 user = postfix
 password = contraseña loca
 dbname = wordpress
 
 query = select user_email from wp_users where user_login = '%u' and spam = 0 and deleted = 0 and user_email <> '%s';

Esto hace que al recibir el correo fauno@wp.hackcoop.com.ar, postfix busque si en wordpress hay un usuario fauno y si existe, le envíe el correo a la dirección registrada.

Las otras condiciones impiden la redirección a usuarios marcados como spambots o borrados o si la redirección apunta al mismo correo (si fauno@wp.hackcoop.com.ar va a redirigir a fauno@wp.hackcoop.com.ar, en lugar de provocar un ciclo infinito, devuelve un valor vacío indicando que no hay un alias).


TODO

Integrar los dominios en la lista de dominios de postfix. Esto se puede hacer agregando la consulta en mydestination o en virtual_alias_domains, pero en este caso hay que mover los alias a virtual_alias_maps.

Probar esta otra consulta que obtiene a qué blog pertenece cada usuario (si tiene más de uno nos jodemos).

 select *
 from wp_users as u
   left join wp_usermeta as m on m.user_id = u.id and m.meta_key like "primary_blog"
   left join wp_blogs as b on b.blog_id = m.meta_value;