Bug fixing in PledgeBank

So far today fixed a couple of bugs in PledgeBank. One to do with ‘.’ (fullstop) characters at the end of confirm URLs in emails. Some email clients assume that is a sentence end and don’t include them in the URL, so it doesn’t work. In the end I’ve removed all punctuation from the tokens, and added test stuff to make sure nothing comes back.

The other problem was that delivery of success and failure messages was broken. The bin/frequenupdate script that sent these was trying to send them for unconfirmed pledges, and causing errors. This was caused by a chain of bugs. First of all, we weren’t tracking errors from the script, they were just queuing up in a mail spool nobody was looking at. Secondly, frequentupdate needed to have “AND confirmed” added to some of the SQL queries. Thirdly, the test script never made an unconfirmed pledge, so couldn’t detect this. Hopefully all now fixed.

Next up something to do with missing “Date:” headers… The new version of Exim doesn’t by default add them when you submit via SMTP. Now mails without “Date:” appear at the bottom of the inbox in some people’s mail clients so they never see them, and some spam filters block them. We could fix this by reconfiguring Exim, but probably better to add it to EvEl our email comoponent, so we can never lose it again.