Sähköpostin vahvistuslinkeissä on huomattu ongelmia

Ongelman kuvaus

Saimme viime viikolla (viikko 37) palautetta käyttäjiltä, että sähköpostin vahvistuslinkki ei ollut toiminut heidän tapauksessa. Aloitimme tutkimaan asiaa ja vahvistimme, että ongelma oli olemassa. Paljastui, että sähköpostissa olevaan linkkiin oli ilmestynyt jostain ylimääräinen tietue joka ei ollut linkissä vielä siinä vaiheessa kun se meidän palvelimella generoitiin. Käytämme kaikkien sähköpostien lähettämiseen ulkoista sähköpostipalvelua ja kyseinen tietue oli tämän sähköpostipalvelun (Sendinblue) automaattisesti lisäämä. Ylimääräisen parametrin tarkoitus on mahdollistaa seuranta sähköpostikampanjoissa siten, että tiedetään tuleeko henkilö verkkosivulle sähköpostikampanjasta vai jotain toista reittiä. Niin kutsutuissa funktionaalisissa sähköposteissa, kuten sähköpostin vahvistus, tällainen lisätietue on tietysti täysin turha. Tämän lisäksi sähköpostin vahvistuslinkki tehdään niin kutsutulla “Signed URL”-tekniikalla jonka on tarkoitus varmistaa, että se vahvistuslinkki jolla käyttäjä vahvistaa sähköpostinsa on täsmälleen saman muotoinen kuin se, mitä käyttäjälle on alunperin generoitu. Koska sähköpostipalvelu lisäsi mukaan oman parametrinsä, näin ei tietenkään enää ollut.

Toimenpiteet

Ongelma on nyt korjattu, eli vahvistuslinkkien pitäisi toimia taas normaalisti. Tämän lisäksi olemme päättäneet lähettää kaikille käyttäjille jotka eivät ole vielä vahvistaneet sähköpostiaan uuden vahvistuslinkin. 

Kuinka varmistamme, että tämä ei toistu tulevaisuudessa?

  • Aiomme lähitulevaisuudessa panostaa automatisoituun säännölliseen testaamiseen, jonka avulla toivottavasti saamme kiinni myös sellaiset ongelmat jotka ilmenevät meistä johtumattomista syistä
  • Olemme myös lähettäneet sähköpostipalvelun tarjoajalle palautetta, että heidän ei tulisi lisätä ylimääräisiä parametrejä rajapinnan yli lähetettäviin funktionaalisiin sähköposteihin, ainakaan automaattisesti

Pahoittelut vielä tästä mahdollisesti aiheutuneesta vaivasta

Ystävällisin terveisin
Commu Tiimi