I like that camera. The only advantages to my suggestion of finding an old digital camera are that you might find one with a better lens (e.g., a zoom), and/or it might be cheaper because almost everyone wants one with USB and a bazillion pixels.
Otoh, you might wind up buying a lemon, or one that turns out to be really hard to interface. For simple snapshots of your fishtank, the one you found is probably a better bet.
I'm confused about what else is appearing on your webpage: the temperature is the only thing displayed in the code you linked to.
Your email problem appears to be that you're not invoking Client() correctly: you need to have an IP address to go with that port number. I'm a little surprised that you didn't get a compilation error: the single-parameter constructor takes a uint8_t, and "587" is clearly not a valid 8-bit unsigned value.
That might not be your only problem, though: I saw a thread recently about difficulties with mailservers that require authentication and/or SSL. A forum search for "EHLO" should turn it up. I've only done HTTP with Arduinos, so I don't know about the details of sending email.
Base64 is a relatively simple encoding scheme originally developed for posting binaries (probably pr0n ;D) on text-only Usenet. It also gets used for email, but these days most emails use a more-complicated MIME protocol for sending binaries as attachments, rather than inline text, because that makes it easier for non-geeks. But you don't need MIME, and its associated overhead, because you're a geek ;)