When 'Enable autodetection of language' is checked in 'System Settings -> Regional Settings -> Spell Check' spell checking has some weird bugs: It incorrectly marks some English words (sadness, least) as wrong and the marking remains even after choosing to add them to the dictionary. The same happens with invoking the spellchecker from the menu, although there adding the word to the dictionary works (only until next time it is invoked, though). Seems it might be related to (but not identical with) https://bugs.kde.org/show_bug.cgi?id=343313. See also https://www.kubuntuforums.net/archive/index.php/t-70403.html, which seems related. P.S. Kate reports its version to be 16.12.3 which is not available in the Bugzilla list of versions. P.P.S. I am not sure if KMail editor uses the katepart, but the bug does not seem to manifest itself there.
I encountered a similar issue in Kmail 5.5.2 when writing emails, I couldn't get spellchecker to flag anything, even long random strings of characters (incorrect in EVERY language) In my case, disabling autodetection of language fixed the issue. When I tried enabling it again to further test behavior, the issue didn't reproduce itself and spellchecker continued flagging misspelled words correctly.
This looks more like a generic sonnet issue.
*** Bug 302679 has been marked as a duplicate of this bug. ***