Do you know how to perform an SMTP transaction using telnet? If so, then you should telnet to port 25 on some mail server out on the Internet where you know the destination is local - especially if you have a gmail account or something - I just did a quick nslookup to discover that the preferred MX host for gmail is gmail-smtp-in.l.google.com
So if you have
my-email@gmail.com as an account, do the following:
open a cmd prompt
telnet gmail-smtp-in.l.google.com 25
>220 mx.google.com ESMTP s4si2757645ywl.792 - gsmtp
helo testhost
> 250 mx.google.com at your service
mail from:<somename@somedomain.com> My Name
(use your real non-gmail address there)
> 250 2.1.0 OK s4si2757645ywl.792 - gsmtp
rcpt to:<my-email@gmail.com> My Name
> 250 2.1.5 OK s4si2757645ywl.792 - gsmtp
DATA
> 354 Go ahead s4si2757645ywl.792 - gsmtp
Subject: Test message
From:<my-email@somedomain.com> My Name
To:<my-email@gmail.com> My Name
This is a test of outbound SMTP
.
QUIT
Of course you'll know if you're being blocked or not because if you are, you'll never even get the initial 220 mx.google.com ESMTP banner.
If telnet pauses for a while and then says Could not open connection to the host, on port 25: Connect failed - in this case, your traffic is being silently discarded.
If it says "connection refused" immediately, then it's being either refused by a firewall or else redirected to some host that does not run SMTP
Unfortunately, there's no work-around for this if you cannot establish connections on port 25 outbound and inbound. This is because port 25 is what mail exchangers use and there's no real standard for setting any alternate port. You can use a different one, but the rest of the Internet won't know to use that port.