Just to emphasize one point... You need to be sure that you have an SMTP relay system because without it, you can't send e-mail this way. Not saying ANY of Colin's code is wrong, but this is something outside the code. It appears you MAY have what you need, but it needs testing.
Here's the short explanation. To send mail, you need to use a sequence of transmissions based on a protocol called Simple Mail Transfer Protocol (SMTP). You send your SMTP traffic to a mail relay server that implements the "store and forward" model of mail transfers. (If some thing is described as a mail relay server, it DOES use that model.)
If you use Outlook, you had to configure your mail account with the address of your SMTP mail relay when you first set up the account. If you want to use CDO (Collaborative Data Objects), you need to have the same SMTP information including the name or address of the mail relay server. It is one of the parameters you must supply when trying to send a message.
The catch is not that you can't send the mail with CDO, but rather that you can't send ANY mail without an SMTP relay host and account (and, of course, credentials such as password or some sort of encrypted key setup, one or the other.) As long as you have the requirements, CDO will send SMTP mail just as Outlook would, even using the same SMTP methods.
Note, however, that you cannot receive mail this way. You would need to set up an SMTP server / daemon on your system if you wanted inbound SMTP e-mail, or you would need to implement some version of Post Office Protocol (currently, POP3). To get your mail on your own machine would imply other things like having a recognized domain so that general routers would be able to find you; i.e. you would have to publish your address. But for sending only? Your address is not usually required to have been published.