The Contact Form is FIXED!

Posted by Alex R English on Mar 21st 2013

We love 3D Printers and the wonderful Plastic Filament they use. But you know what we love more? Hearing from you! We love your critiques, suggestions, hopes, dreams; we love it. And we were devastated to recently discover that some of what you were trying to tell us had fallen into a dark internet pit of oblivion. Here's what happened -

Yesterday we discovered a problem with the ticketing system we use for support. There was a bug that kept mail sent through our contact form from being delivered properly, and caused mail from some users to bounce. The undelivered mail appears to be unrecoverable. We have fixed the problem and our support system is working smoothly again, thank goodness.

Because we were still receiving a relatively normal volume of mail, had not received any reports of the problem until very recently, and weren't getting any errors or notifications, this problem persisted for an embarrassingly long time.

Please accept our sincere apology if you used the contact form on our website and didn't get a response from us, or emailed us and received bounces. Customer support is a top priority for us, and something we care deeply about, it's one of the reasons we started ProtoParadigm.

We were horrified to learn of this problem and what it meant for our customers that were trying to reach us. We can now only ensure that it is fixed and offer our humble apology. If this problem affected you, please get in touch again so we can hear what you had to say.

- Alex and Luke

Technical Details (for those interested)

We performed a server migration a while back due to some hardware problems on the server we were previously on (also to gain a little more server horsepower). After the migration, everything tested out as functional. Unfortunately there was a PHP module (mbstring) that wasn't installed, but was required by our help-desk software. This caused a function call (mb_convert_encoding) in the email processing script to throw an error, which halted the processing and would bounce the email (when there was somewhere to bounce it to). This function converts character encodings of strings (in this case, emails) and was only executed on emails with encodings that needed conversion, which meant that those that didn't need conversion didn't choke and die.

All of our test emails (sent from other domains using the Mozilla Thunderbird client, sent from our domain using the same, and sent from Gmail) had gotten through because they happened to not need conversion, so this function was never called. While the system was broken we had exactly one report of bounced messages from a customer that contacted us through facebook, but we were unable to duplicate the problem and so thought it was a transient issue. Some emails, depending on the sending mail client or service, the encoding settings, and presumably (an educated guess) the language settings, were getting bounced when they tried to reach us at any of the addresses that are piped into our ticketing system (support, sales, and some others).

The contact form on our website was sending with encoding that required conversion via the missing function, which caused these messages to silently disappear into a black abyss with no indication to either side that it was happening. After discovering the cause of the problem a recompile of PHP with the mbstring module fixed the issue.