esa estructura no parece estar bien, porque los email recibidos no son de una localidad, sino de un nombre. Es decir, tienes que tener una relación entre la tabla de nombres y localidad, y otra entre nombre y email. Por lo tanto el idt1 de la tabla3 debe estar relacionado con el id de tabla2.
Luego podrías obtener fácilmente lo que quieres, aunque los nombres fueran iguales, porque agruparías por el id de la tabla2, que es distinto y único para cada uno de ellos.
Código sql:
Ver originalSELECT tabla1.localidad, tabla2.nombre, COUNT(tabla3.email)totalmail
FROM tabla1 INNER JOIN tabla2 ON tabla1.id=tabla2.idt1
INNER JOIN tabla3 ON tabla2.id = tabla3.idt1 GROUP BY tabla2.id ORDER BY tabla2.nombre
He puesto count, porque no sé qué guardas exactamente en tabla3.email
No he probado nada.