These are the differences I know for sure:
என்று is used for "[person] said that [clause]," like "அவன் வரமாட்டான் என்று அவள் சொன்னாள," (or அவன் வரமாட்டான்னு அவ சொன்னாள் for spoken Tamil). I also know that என்பது is used for "noun = noun"-type sentences where one half of the sentence is particularly long. Something like "புலி என்பது பூனைக் குடும்பத்தில் உள்ள பாலூட்டிச் சிற்றினமாகும்" (taken from the Tamil Wikipedia article on tigers).
But then I'm also finding instances where it seems like என்பது is being used in other ways, like, "எனக்கு ஞாபகம் இல்லை என்பது உனக்குத் தெரியும்," where I'm not 100% sure I understand the logic behind என்பது versus என்று, and especially whether this also applies to the spoken language equivalents என்கிறது~எங்கிறது~-ங்கிறது and -ன்னு, respectfully. I feel like I've definitely heard "I know that [clause]"-type sentences where the "that" was represented by -ன்னு in speech rather than something else. Is that a dialect thing? Does it also apply to other verbs with a similar formation, like புரியும் and வேண்டும்? (As in, "I understand that [clause]")
And then there's என்பதை and all the other forms of என்பது which I'm not even close to figuring out. So any clarification on என்று and என்பது (and other related formations) would be appreciated.