Hi
1. Monitor all www related activity and record sites/downloads by each internal ip of a user
Yes, WinGate's WWW proxy will log all requests, and the log entries contain client IP address. Alternatively you can set up user accounts in WinGate (either get your users to authenticate, or assume who they are based on their IP), and enable auditing per user, which creates a file per user of all their activity.
2. Act as the main email server within our office. It will download all emails to the server and client machines will grab it accordingly. Client machines will also send emails thru the wingate server.
All emails send/received can be copied to the administrator
WinGate has POP3 collection built in, so you can get it to download the mail, which users then retrieve from WinGate. You can get WinGate to store a copy of all processed mail (goes into the Sent folder in WinGate). Also, you could get your clients to use IMAP instead of POP3, which means the mail is stored on the server as well.
As for the domain name issue, there is a workaround for that. For instance, if your internal clients use WinGate as their DNS server when they are in the office network, you can add an entry to the hosts file on the WinGate machine which would map the domain name normally associated with the PIX firewall's external IP to the internal IP of the WinGate server. Then when they are on the office network, the lookup for the external name will resolve to the internal IP, which they can connect to, and when they go home, and presumably use a different DNS server at their ISP, the same name will map to the external IP of the PIX firewall. You then would map the port through to the WinGate server from the PIX firewall.
regards
Adrien