You can use any email client (such as Thunderbird, Evolution, Outlook, etc.) for it. As SMTP- and POP3 server you can use any FQDN or IP address that's pointing to your server; the username is the email address, and then you need the password for that account. Don't forget to enable "Server requires authentication".

Edit: the current situation is almost completely working! I got the virtual user logins and such checked out (just a note, maybe clarify the bit about mailbox setup in /home/vmail - I had to make the domain folder and the user folder, then send an email to the account so all the courier stuff got made)

Right now I have Thunderbird talking to them and retrieving emails just fine, however it seems that sending mail from inside Thunderbird doesn't work.

I'm guessing this has to do with the listening on local ports or something, is there a way I can open it up to allow me to send through thunderbird?

It just hangs for a minute or two, then gives me this message:
Sending of message failed.
The message could not be sent because connecting to the SMTP server scriptsamurai.com failed. [...]

No, I haven't. I'll try that now. Also, I just had a problem crop up - Clam AV would hang or something and crash hard, making all my mail not get delivered, so it just sat in queue. What I did to fix it was disable antivirus scanning and flush the queue. I'm going to re-enable antivirus scanning in a minute, but have you heard of this happening before?

Edit: Just tried with my server IP, still no dice on sending out. I should be setting up thunderbird to send out on port 25, right?

Edit: After some more tinkering, the issue with the Clam hang is still an issue. I've got it disabled right now (re-commented the antivirus line in /etc/amavis/conf.d/15-content_filter_mode) so mail is delivering properly and such, but I'd like to be able to enable scanning. It just hangs really bad and I get errors in /var/log/mail.log about "all antivirus scanners failed" and it taking longer than 315s to execute and will be killed. top shows a clam process or two that are really CPU-intensive, over 100% CPU usage. I thought maybe it was an issue with my mail queue - maybe a file got sent in that was too large or something? - so I cleared out the mail queue with postsuper. Going to try re-enabling it in a bit.

It's a remote server connected to the internet in a datacenter. I've tried two domain names and the IP address. Everything else works fine, it's JUST the connecting to the server to send outgoing mail from within Thunderbird. If I'm on the server as a real user in SSH, I can send from mutt/mail fine, but it shows up as the default hostname for my @ address, not the virtual host I want.

That's weird. I've tried from two different computers, and I can get into everything else on the server just fine, it's just the port 25 for outgoing mail that seems to hang. Maybe it's something with Thunderbird. I'll look into it some more, thanks.

Edit: I just tried it from my work computer running Ubuntu 7.10, I do:
telnet scriptsamurai.com 25
it resolves the IP properly, then just hangs there indefinitely.

The windows XP machine I have at work also just hangs. Is there a way I can check on my server what's getting refused? It seems like a firewall issue on the server side, since it's from a few different computers. I have no idea why it would let you connect but not me. :/ I don't run a firewall on the server, and I run one on the desktop at home but not any of these other machines I've tried.

I'm still able to connect, so I guess it's some kind of firewall problem on your client PCs. Do you use personal firewalls?
If you're using tools like DenyHosts or fail2ban, did you maybe lock yourself out?

I use moblock on one, nothing on the other two, and I disabled moblock when I tried it. I don't think I'm using anything on the server that would've locked me out - I just followed the tutorials you had up. Any idea on how I can dump the firewall rules, maybe, and make sure? I can get into everything else on the server from all the machines I've tested, it just hangs trying to telnet port 25. SSH, HTTP/S, Icecast, all that still works fine. :S