I have a program on Windows that sends email via a remote SMTP server, and it is failing with an ambiguous "cannot connect" error message with no log or other information as to why it is failing. I have tested the SMTP server and confirmed it is working with the same credentials.
The program uses plaintext login to the server, as it doesn't support SSL/TLS, so the SMTP connection should be transmitted in the clear. Is there an easy way to use a packet sniffer to monitor the attempted connection, to see exactly what is being sent (in an effort to discover why the connection is failing)?
Wireshark.
Install that sucker, fire it up, start a capture, and Bob's yer uncle.
Yes there is. Install a packet capture program on the client (Wireshark, Microsoft Network Monitor, etc.) and start a capture, then start your program and invoke the email function, then look at the capture. You can filter the capture by protocol (SMTP) or by source/destination ip address to filter all of the "noise" out of the capture to allow you to focus on only the conversation that you're interested in.