Hallo,
wir haben neulich den Superwebmailer erworben und eingerichtet.
Nun haben wir zwei kleine Fragen...
1. Wenn wir 2 Admin-Accounts anlegen, können diese nicht auf die Mailinglisten des jeweils anderen zugreifen - ist dieses so korrekt?
2. Testweise haben wir nun einmal 13 Benutzer und 4 Gruppen angelegt. Hier scheint es ein kleines Problem mit der SQL-Abfrage zu geben - Beschreibung im Folgenden.
Benutzer B1 - B13
Gruppen G1 - G4
Die Aufteilung sieht wie folgt aus:
G1 : B1 - B13 (alle Benutzer)
G2 : leer
G3 : leer
G4 : B1
Soeben haben wir das aktuelle Skript \"campaigntools.inc.php\" eingefügt (siehe vorheriger Beitrag im Forum), wodurch nun immerhin keine 156 Mail mehr versendet werden sollten

Wenn wir nun ein Mailing an G4 erzeugen, sollen laut System insgesamt 13 Mails versendet werden - korrekt wäre jedoch 1 Mail.
Genutzte SQL-Anfrage lt. Supermailer:
SELECT DISTINCT `exampleMailingList_members`.`u_EMail`, `exampleMailingList_members`.*, IF(`exampleMailingList_members`.`u_Birthday` <> \'0000-00-00\', YEAR( CURRENT_DATE() ) - YEAR( `exampleMailingList_members`.`u_Birthday`), 0) AS `MembersAge` FROM `exampleMailingList_members`
LEFT JOIN `torben_globalblocklist` ON `torben_globalblocklist`.`u_EMail` = `exampleMailingList_members`.`u_EMail`
LEFT JOIN `exampleMailingList_localblocklist` ON `exampleMailingList_localblocklist`.`u_EMail` = `exampleMailingList_members`.`u_EMail`
RIGHT JOIN `exampleMailingList_maillisttogroups` ON `exampleMailingList_members`.`id`=`exampleMailingList_maillisttogroups`.`Member_id`
LEFT JOIN `1kontaktaufnahmebetatester_groups` ON `1kontaktaufnahmebetatester_groups`.`ml_groups_id`=`exampleMailingList_maillisttogroups`.groups_id
WHERE (`exampleMailingList_members`.`IsActive`=1 AND `exampleMailingList_members`.`SubscriptionStatus`<>\'OptInConfirmationPending\')
AND (`torben_globalblocklist`.`u_EMail` IS NULL AND `exampleMailingList_localblocklist`.`u_EMail` IS NULL)
AND (`1kontaktaufnahmebetatester_groups`.`ml_groups_id`=4)
Korrekt wäre hier (lt. Kurz-Test in MySql):
SELECT DISTINCT `exampleMailingList_members`.`u_EMail`, `exampleMailingList_members`.*,
IF(`exampleMailingList_members`.`u_Birthday` <> \'0000-00-00\', YEAR( CURRENT_DATE() ) - YEAR( `exampleMailingList_members`.`u_Birthday`), 0) AS `MembersAge` FROM `exampleMailingList_members`
LEFT JOIN `torben_globalblocklist`
ON `torben_globalblocklist`.`u_EMail` = `exampleMailingList_members`.`u_EMail`
LEFT JOIN `exampleMailingList_localblocklist`
ON `exampleMailingList_localblocklist`.`u_EMail` = `exampleMailingList_members`.`u_EMail`
LEFT JOIN `exampleMailingList_maillisttogroups`
ON `exampleMailingList_members`.`id`=`exampleMailingList_maillisttogroups`.`Member_id`
LEFT JOIN `1kontaktaufnahmebetatester_groups`
ON `1kontaktaufnahmebetatester_groups`.`ml_groups_id`=`exampleMailingList_maillisttogroups`.groups_id
WHERE( `exampleMailingList_members`.`IsActive`=1
AND `exampleMailingList_members`.`SubscriptionStatus`<>\'OptInConfirmationPending\'
)
AND
(
`torben_globalblocklist`.`u_EMail` IS NULL AND `exampleMailingList_localblocklist`.`u_EMail` IS NULL
)
AND
(
`1kontaktaufnahmebetatester_groups`.`ml_groups_id`=4
)
Es bräuchte also nur der \"RIGHT JOIN\" gegen einen \"LEFT JOIN\" ausgetauscht werden....
Viele Grüße,
Torben