Falsche Email Adressen per MYSQL SELECT anzeigen

19. Mai 2011 | Allgemein,MySQL,Shopware 3.5 | Ersten Kommentar erstellen »

Ein Kunde hat in der aktuellen Shopware 3.5 eine Menge an Email-Adressen für den Newsletter kopiert. Leider hatten waren auch einige Adressen mit einer falsche Syntax dabei. Dadurch wurde der Versand immer wieder abgebrochen. Mit folgendem Statement kann man sich die falschen Adressen anzeigen lassen:

SELECT *
FROM s_campaigns_mailaddresses
WHERE NOT
(
LOCATE(' ',LTRIM(RTRIM(`email`))) = 0
AND LEFT(LTRIM(`email`),1) <> '@'
AND RIGHT(RTRIM(`email`),1) <> '.'
AND LOCATE('.',`email`,LOCATE('@',`email`)) - LOCATE('@',`email`) > 1
AND LENGTH(LTRIM(RTRIM(`email`))) - LENGTH(REPLACE(LTRIM(RTRIM(`email`)),'@','')) = 1
AND LOCATE('.',REVERSE(LTRIM(RTRIM(`email`)))) >= 3
AND (LOCATE('.@',`email`) = 0 AND LOCATE('..',`email`) = 0)
);