Heute hatte ich wieder mal ein wenig Zeit mir das Ganze anzusehen, der SQL Befehl mit dem die Domains aus der Mysql Datenbank geholt werden lautet (sql-domain.cf) wie folgt:
SELECT config_value
FROM egw_config
WHERE config_app='phpgwapi' AND config_name='mail_suffix' AND config_value='%s'
# allow all domains from configured aliases
UNION
SELECT DISTINCT RIGHT(mail_value, LENGTH(mail_value)-INSTR(mail_value, '@'))
FROM egw_mailaccounts
WHERE mail_type=3 AND mail_value LIKE '%%@%s'
Der erste Teil des Selects liefert bei mir die Hauptdomain zurück mit der egroupware betrieben wird, der zweite Teil liefert lieder gar nichts retour.
mail_type=3 gibt es in der Tabelle keinen einzigen Eintrag.
Mein zusätzliche angelegter Account mit @larcher.family steht hier als mail_type=“5” in der Tabelle und enthält den Wert “manfred@larcher.family@hauptdomain” was natürlich nicht stimmen kann.
Ändere ich den Eintrag in der MySQL Tabelle und entferne die @hauptdomain am Ende, so liefert der Select die Domain korrekt zurück. Allerdings erhalte ich wenn ich eine Mail anliefern möchte ein 454 4.7.1 Relay access denied.
Was vermutlich daran liegt das der sql-mailbox.cf Select:
SELECT CONCAT(account_lid,’@’,config_value) FROM egw_accounts JOIN egw_config ON config_app=‘phpgwapi’ AND config_name=‘mail_suffix’ JOIN egw_mailaccounts active ON egw_accounts.account_id=active.account_id AND active.mail_type=0 AND active.mail_value=‘active’ LEFT JOIN egw_mailaccounts delivery ON egw_accounts.account_id=delivery.account_id AND delivery.mail_type=1 WHERE account_status=‘A’ AND account_type=‘u’ AND (account_expires=-1 OR account_expires>NOW()) AND (delivery.mail_value IS NULL OR delivery.mail_value<>‘forwardOnly’) AND account_lid<>‘anonymous’ AND account_lid=‘manfred’ AND config_value=‘larcher.family’;
auch nichts zurück liefert…
Was habe ich hier falsch gemacht?
Schöne Grüße
Manfred