I think the answers to some of your questions are:
- $mailserver will be the mailserver you will be sending thru, such as smtp.yourdomain.com or something.
- TCP is the underlying protocol used for the data transmission (as opposed to UDP or ICMP), whereas SMTP is the application protocol.
I *believe* (but am not for 100% sure) that $serverAddr is the address of the server you will be connecting to. As to the pack format, this may be of help. In the code, it appears as if it is being used in the initial connection (although I am not certain).
Hope that helps (a little, at least).