Skip to content

Emails sent to lists outside selected ones

edited June 2013 in Troubleshooting

I'm a new user to Sendy and recently installed and set it up to replace an existing phplist install. The logic worked well with "brands" being like clients that I had. However, out the gate I've had a pretty major problem. One of my brand accounts sent to their lists and somehow Sendy included a list from another client which resulted in a high number of unsubscribes/spam reports. I'm not for sure how this is even possible - brand accounts are fully separate, right? And there isn't blocking between them for data access?

Comments

  • Hi @tnktp,

    This is the first I've ever heard and it's completely impossible.

    Best regards,
    Ben

  • I wish I could agree with your certainty. Here is the list in question:

    mysql> select id, app from lists where name like 'Amy%';
    +----+------+
    | id | app  |
    +----+------+
    |  1 |    1 |
    +----+------+
    1 row in set (0.00 sec)
    

    Here is the campaign in question:

    mysql> select id, app, to_send, to_send_lists from campaigns where id = 17;
    +----+------+---------+------------------------------------------------------------------------------------------------------+
    | id | app  | to_send | to_send_lists                                                                                        |
    +----+------+---------+------------------------------------------------------------------------------------------------------+
    | 17 |    4 |    2255 | 49,51,50,73,31,45,78,79,82,80,53,52,81,54,77,34,76,55,75,56,65,57,58,59,60,19,18,61,62,63,64,74,33,***1*** |
    +----+------+---------+------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)
    

    Here's an example of another list that was selected:

    mysql> select id, app from lists where id = 74;
    +----+------+
    | id | app  |
    +----+------+
    | 74 |    4 |
    +----+------+
    1 row in set (0.00 sec)
    
  • Ben! So it's quite possible then. The problem is evident. I have a client with 74 lists, to_send_lists is a varchar of 100. They're maxing this out, it's getting truncated. That's where the list ID 1 comes from.

    Why were you so sure it's impossible? It seems clear that the send process doesn't do validation on the app ID.

    So there are two problems here, one is an "enhancement" for large lists, and the other is a bug for bad handling.

  • (Additionally I would say it's a bug that there's not error handling for >33 lists.)

  • BenBen
    edited June 2013

    Hi @tnktp,

    In that case, you are right. The to_send_lists column is a VARCHAR of 100. I never imagined anyone with a list count of around 74. I guess no one ever reported this issue to me before was because hardly anyone has such a huge list count.

    I said sending to other lists not selected in the 'Define recipients' page is impossible because there is no code that will cause this to happen. Little did I know it's an issue with the database's character length.

    I'll change it to a larger number or a TEXT type in the next version.

    In the meantime, you can fix this by changing the VARCHAR limit to a larger number or change it to a TEXT type instead of VARCHAR.

    Thanks.

    Best regards,
    Ben

  • Thank you for your help, Ben! Will changing my schema cause any problems with upgrades in the future?

  • edited June 2013

    More problems. I altered the table and set the column to text. Regardless, this brand user has managed to yet again send to a list does not belong to them. The same impact as before, a very high bounce rate and lots of unsubscribes which does not bode well for my reputation as a new Amazon SES user, and is unfortunate for the other brand accounts on the system whose lists are being use erroneously. In this case, the list was id 2.

    mysql> select to_send_lists from campaigns where id = 40;

    +------------------------------------------------------------------------------------------------------+
    | to_send_lists |
    +------------------------------------------------------------------------------------------------------+
    | 8,6,20,9,27,22,35,36,85,37,38,86,88,39,30,29,32,41,24,25,26,68,69,42,66,40,43,46,44,47,48,70,71,72,2 |
    +------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)

  • edited June 2013

    (redacted)

  • Hi @tnktp,

    Did you set the list column in campaigns table to TEXT as well? Sorry if I didn't mention this earlier.

    Thanks.

    Best regards,
    Ben

  • No, I unfortunately just followed your instructions and did not audit the code.

  • edited June 2013

    I'm assuming you meant the column 'lists' and not 'list'.

    mysql> alter table campaigns modify column lists text;

  • Yes, it's lists.

  • edited June 2013

    Just to confirm, that resolved my issue. I hope that you'll integrate this with future releases for other users.

    mysql> alter table campaigns modify column lists text;
    mysql> alter table campaigns modify column to_send_lists text;

  • This is now resolved in version 1.1.7.3.

This discussion has been closed.