When your GUI mail client doesn't work, you need to know whether the problem is at the server or the client. You could download a different client (Thunderbird, if you are using Outlook or Apple Mail) but why spend that time when you can test from the command line?
Note that some ISP's won't allow you to make port 25 connections to anything but their mail servers. This is to keep viruses from sending mail. If you need to test some other server, you may not be able to without using a system that does not impose this restriction.
The lines preceded by numbers are typical responses. The actual response may be different.
$ telnet mail.somewhere.com 25 Trying 192.168.75.194... Connected to smtp.somewhere.com. Escape character is '^]'. 220 smtp.somewhere.net ESMTP Sendmail 8.9.3+Sun/8.9.1; Thu, 12 Oct 2000 04:39:40 -0700 (PDT) helo aplawrence.com 250 smtp.somewhere.com mail from: email@example.com 250 firstname.lastname@example.org... Sender ok rcpt to: email@example.com 550 firstname.lastname@example.org... Relaying denied rcpt to: email@example.com 250 firstname.lastname@example.org... Recipient ok data 354 Enter mail, end with . on a line by itself test look ma no headers! . 250 HA00945 Message accepted for delivery quit 221 smtp.somewhere.com closing connection
You might also need to do a
first, and addresses may need to be in angle brackets: <email@example.com>
Remember: some ISP'S block your outgoing packets, only allowing port 25 to their SMTP server. You won't be able to test any other server if this is true.
If your server accepts secure smtp (it should), you can use openssl instead of telnet:
openssl s_client -connect mail.yourserver.com:465 -crlf
(If you don't use the "-crlf" you may have trouble using "." to end a DATA input)
I also have found Clean Code Email very helpful for command line testing.
If you have sendmail. you can use it from the command line with -v to see what really happens. See Debugging sendmail problems
See Microsoft's Connectivity Tester also.
Got something to add? Send me email.