I know how to test smtp email using telnet. But I think because telnet uses "its own channel" to reach smtp server, it doesn't necessarily mean the normal smtp communication on port 25 would work. (Please correct me if this is not true)
Basically the client has encountered with an issue : [ERROR] Access to default session denied during a test from application to reach smtp server. From the same server, telnet to send an email just works...
So I've got no other choice but to figure out why I am getting this sort of error. Done my research only to find out lots and lots of command-line email applications, no good in this case as it is the client's environment that I've got little control on what to install.
So I think the last resort would be using simple DOS commands? Please advise if there is even a better way. Many thanks in advance.
I know how to test smtp email using telnet. But I think because telnet uses "its own channel" to reach smtp server, it doesn't necessarily mean the normal smtp communication on port 25 would work.
That's incorrect. If sending e-mail works with typing it to the Windows telnet application, then it works, i.e. there is no problem with the SMTP server, and there are no firewall issues between the client and the server.
So the bug is most probably in the in the application displaying the error message. Maybe there is no bug, but the application is not configured properly.
I think because telnet uses "its own channel" to reach smtp server, it doesn't necessarily mean the normal smtp communication on port 25 would work. (Please correct me if this is not true)
That is not true. A "real" SMTP client uses the same method to talk to the SMTP server as telnet does.
If you do not trust Telnet, use Thunderbird, but the problem is probably with your client software or configuration. Double check the settings there and see if you can turn on any trace logging (on the client or the server).
Related
I have read numerous articles and done everything recommended to setup a mail server in windows 2008R2
I am simply trying to send messages from my server from certain websites that I host.
I queued mail for delivery then got this back....
4.4.7 Unable to deliver message to the following recipients, due to being unable to connect successfully to the destination mail server.
For reference, I followed the instructions here...
How to setup an SMTP server
Is there something I am missing?
While I am not familiar with Windows mail servers, I have encountered a similar issue. If this only happens with some destinations, the receiving mail server could be simply refusing the connection.
For example, mail servers often refuse connections from IP addresses that ISPs hand out to "regular" (non-business) customers. Another common reason to reject mail is if the reverse DNS entry for your IP doesn't match the hostname in the HELO (or EHLO) command. (However, in that case, you probably wouldn't get "unable to connect" errors.)
You could try online tools like mxtoolbox to help diagnose the problem.
I have two ruby on rails application on different servers. Both are working fine, but one (server 2) can't send any mails.
I got always the 554 5.7.1 : Relay access denied error.
On server 2 I tested the mail communication with the help of telnet and it works, but it doesn't works with the ruby on rails application.
Other application can send mails, too.
The only difference between both systems are the os (Debian 6 (server 1) and RHEL 6 (server 2)) and the ip ranges (10 network (server 2) and 53 network (server 1)).
I think the best way is to use a simple mail application, but I don't know, how to write something like that.
Thanks for any help.
The IP address of your second server is not in the whitelist for that email server, but the first one is.
Unless you're using authenticated SMTP, you will have to add the IP addresses of all your application servers to the whitelist configuration.
Using telnet will only tell you if the port is accepting connections, not if you can actually send email. For that you'll have to perform an actual SMTP transaction.
There are services like Postmark, SendGrid or even my start-up PostageApp which will act as a mail server for you.
Please consider the following scenario:
VNC Client try to connect with a VNC Server which is behind a NAT.
I have written a port forwarder in java which help me achieving above task, and it works fine.
Now I need to, somehow, add a connection brokering functionality within this forwarder so that I can also intercept the communication between VNC Client – Server, and authenticate the VNC Client within the forwarding utility as well.
You may have guessed that actually I am using the password received from VNC Client for some authentication in my app. As the RFB Server can be implemented at application layer, I guess this interception is possible... VNCAuthentication (DES encryption/decryption) is used in all above communication. Upon successful authentication within the forwarding utility I shall just let the forwarding continue for that respective client, else I can close it (stop forwarding).
I have tried some implementation, also tried customizing a java implementation of rfb server... but still not able to get there. It will take some time, I know, but need to confirm if I am thinking straight.
Please let me know if the implementation of above scenario is ambiguous, not possible, or illegitimate and if this is possible, let me have some guild lines...
This seems like a good implementation. Think of it like a VNC proxy, just like an HTTP(S) proxy. There are also HTTP authenticating proxies. You're implementing part of the VNC protocol to create an authenticating VNC proxy.
Maybe you can get some inspiration from VNCProxy, an existing Java VNC proxy.
Debug HTTP is easy, you have all sort of tools to do it (like Fiddler). What about SMTP?
How to Debug SMTP Communications?
My target system is Windows.
Suggested tools:
Ethereal
tcpdump
Microsoft Network Monitor
For the two people who responded with Ethereal: We renamed the project to Wireshark (http://www.wireshark.org) back in 2006 due to trademark issues. I strongly recommend upgrading.
Depending on your exact issue, Wireshark's Follow TCP Stream feature is pretty useful for debugging Internet Message protocols, including SMTP.
How to capture emails with Wireshark:
Get wireshark -> Install
Into filter enter smtp click Apply
When you get filtered lines click right mouse button on one of them and select 'Follow TCP stream'.
You should get window like following
(OPTIONAL) If you want to inspect contents of email that are base64 encoded
Copy part that looks like gibberish into one of base64 to text converters, there are plenty online. You should get readable text that was sent.
Hope this saves you some time.
smtp-cli is good for this. From the homepage:
smtp-cli is a powerful SMTP command line client with a support
for advanced features, such as STARTTLS, SMTP-AUTH, or IPv6
In addition to being a full-featured client, its --verbose option makes it
the tool I think you're looking for to track down SMTP issues (like, for instance,
why a server is rejecting a given to: address, which is how I found the tool :-) )
Again from the homepage:
It's also a convenient tool for testing and debugging SMTP servers' setups.
Even the hardcore mail admins used to typing the SMTP protocol over telnet
need a specialised tool when it comes to verifying encryption settings of
their TLS enabled server with a subsequent user authentication. Such things
are pretty hard to type into a telnet session by hand :-)
Try Ethereal - its a free network protocol analyzer.
The SMTP protocol is all ascii, so once you see whats inside the TCP connection, you should be good to go.
It will take a bit of work learning how to use Ethereal.
You can use a SMTP development server, like Neptune or Antix. Both work the same way: they create a "fake" SMTP server in your machine so you can test your e-mail sending methods, without actually sending the messages they receive.
Use tools like ethereal (www.ethereal.com) or tcpdump (www.tcpdump.org), if you want to see the SMTP traffic.
If you like to check your server for compliance with relaying standards, do a
telnet relay-test.mail-abuse.org
from your SMTP server and it checks your server for relaying vulnerabilities.
I am trying to send mail from a local iis app using localhost as my smtp server after installing free smtp but I am getting the following error:
Mailbox unavailable. The server response was: Invalid
recipient: 'validAddress'#hotmail.com
Any idea what the problem could be?
it sounds like your free (3rd party) smtp app is not leaving your network and might be trying to see if it has that mailbox itself. Try and see if there is a setting to allow the smtp server to access external connections, etc. What is the name of the free smtp app, btw?
Alternatively, can u use the built in SMTP mail provider, built into iis? do you know how to use that, instead of this 3rd party app.
It looks more like the SMTP service needs to be configured to "Relay" email... Usually this involves telling it what YOUR mail domain is, and then any mail destin for a domain other than it's own will cause it to go out to the world, and try to relay the message to the real server.
But, be careful! This is how spammers exploit email servers. They look for SMTP listeners that will relay for them. You want to make sure yours will only accept relay mail from "localhost", or whatever machine will be connecting to it to do the sending.
A more secure way is to block port 25 inbound at your firewall to this box, so this SMTP server is not visible to the outside world.
Write and test a simple smtp sender in C. It needs 3 minutes with RFC
Use Wireshark to see what comes on the wire between your application and the SMTP server.