CasperSecurity
-- If subject contains emoji, varchar doesn't work well.
ALTER TABLE msgs MODIFY COLUMN subject VARBINARY(255) DEFAULT '';
ALTER TABLE msgs MODIFY COLUMN from_addr VARBINARY(255) DEFAULT '';
-- mail address without address extension: user+abc@domain.com -> user@domain.com
ALTER TABLE maddr ADD COLUMN email_raw varbinary(255) NOT NULL DEFAULT '';
-- index
CREATE INDEX maddr_idx_email_raw ON maddr (email_raw);
-- Create trigger to save email address withou address extension
-- user+abc@domain.com -> user@domain.com
DELIMITER //
CREATE TRIGGER `maddr_email_raw`
BEFORE INSERT
ON `maddr`
FOR EACH ROW
BEGIN
IF (NEW.email LIKE '%+%') THEN
SET NEW.email_raw = CONCAT(SUBSTRING_INDEX(NEW.email, '+', 1), '@', SUBSTRING_INDEX(new.email, '@', -1));
ELSE
SET NEW.email_raw = NEW.email;
END IF;
END;
//
DELIMITER ;
-- Update all existing records.
UPDATE maddr SET email_raw=email WHERE email_raw='';