There is an implicit setting in Thunderbird. It will treat the attachment with "inline" in the attribute of "Content-Disposition", which will trigger the attachment be showed in mail body when viewing.
There is a way to turn it off.
Tools -> Options -> Advanced -> General -> Config Editor
Set the value of "mail.content_disposition_type" to 1
Now, it works.
BTW, I read Aaron Toponce's article to get this useful solution and you can find the article here.