First off, I just wanted to say bravo to you for fighting for someone that you love. Other people that answered this question have been like 'aww, that's SO sweet' and while that is reassuring, I think that you probably want tips to make it even better, which is what I'll try to help you with. It's definitely a great base to work with.
Maybe it's just me being a dork, but proper capitalization/grammar/spacing, etc., will not only smooth over the letter but make it flow better, and maybe make her take you a bit more seriously. Maybe get a friend to help you, or heck, if you want I could even help you on it. It wouldn't take more than a few minutes.
Even though I'm sure some girls would like a guy to tell them that they're perfect, it's probably better that you don't tell her that she doesn't have flaws. This will put a lot of pressure on her, because she'll be dating someone who doesn't think she can make any mistakes. Most women want to know that they're partners love them in spite of their mistakes, not because they don't have any. She wouldn't want to do the wrong thing around you, for fear that you wouldn't love her as much after realizing that she isn't perfect. I recommend that you change it to something more like this:
"No one is perfect, but after getting to know you and falling in love with you there is no doubt in my mind that we can be perfect for each other."
Instead of "you've got such a beautiful body, soul, and mind" I would try something more like...
"You're beautiful - body, mind, and soul."
It just kind of reads better.
Please let me know if I can help, because this sounds very important to you. As an aspiring writer many of my friends had me write love letters for them to give to their girlfriends - so I pretty much had a lot of practice and have learned what works and what doesn't.
Final thoughts - don't let people tell you it's corny, because the girl that you are writing it for won't think so. As long as you make sure that everything you say is genuine, then it is absolutely perfect.
Please let me know if you need anything else. Good luck!