正に今そのメールを書いているときでも、時制は過去になるようです。すなわち。"... I can't help ..." ではなく、"... I couldn't ..."、同様に "... I just have to ... " ではなく、"... I just had to ... "が正しい表現になります。
さて、"in spite of myself" は、まず、古い表現で、若い人には聞いたこともない人もいます。年配の人でも、聞いたことがある、程度の認識のようです。
さらに、意味の上でも正しくかどうかは吟味する必要があります。"despite my better judgement" という意味なので、日本語では「〜すべきではないとわかっていながら、つい」ということになります。
ちなみに、私は#2で "so ... that ... " 構文を使いましたが、これはこの「思わず」を意味するのに必須の要素ではありません。"Your son looks so adorable! I just had to send you email and let you know that!" でも全然構いません。