Mysql búsqueda de correo electrónico con boolean dando malos valores

Tengo un problema con mi consulta de búsqueda. Estoy buscando correos electrónicos.

Tengo mi consulta de búsqueda así:

$query = sprintf("SELECT mailer_subscribers.id, mailer_subscribers.email, mailer_subscribers.status,mailer_segmentlinker.segment_id, mailer_segmenten.segmentnaam FROM mailer_subscribers JOIN mailer_segmentlinker ON mailer_subscribers.id=mailer_segmentlinker.subscriber_id JOIN mailer_segmenten ON mailer_segmentlinker.segment_id=mailer_segmenten.id WHERE MATCH (email) AGAINST ('%s*' IN BOOLEAN MODE)", $key); 

Pero cuando estoy escribiendo una palabra clave en el ejemplo ” john.smith “, me devuelve todos los valores que tienen el mismo nombre o apellido.

 john.smith@example.com john.notsmith@example.com smith.hendrix@example.com josh.josh@smith.com 

Necesito que me dé una lista con john.smith .


Editar:

La solución que me ayudó fue esta: WHERE mailer_subscribers.email LIKE '%%%s%%'", $key);

Intenta poner tu palabra clave entre comillas dobles para buscar la frase exacta.

 ... AGAINST ('\"%s*\"' IN BOOLEAN MODE) ... 

Búsquedas booleanas de texto completo :

‘manzana platano’
Encuentra filas que contengan al menos una de las dos palabras.

‘”algunas palabras”‘
Busque filas que contengan la frase exacta “algunas palabras” (por ejemplo, filas que contengan “algunas palabras de sabiduría” pero no “algunas palabras irrelevantes”).