I recommend a series of poetry books for children called Poetry for Young People. The series has Poe, Elliot, Shakespeare, Hughes - there are perhaps 10-12 books in the series. You can get them at the library, but here is an example from Amazon:
By using real poetry, they learned early that poems don't always rhyme, etc. It was fun. I know I learned a lot :-)
For more fun, we also used the Shel Silverstein books, including "Falling Up."
For writing poetry, I used a simple book called "How to Write Poetry" by Paul Janeczko. It was fine, but I thought the kids learned more by enjoying the real poetry rather than writing it.