What do people use to monitor that their email server is accepting external email? Most monitoring solutions send notices by email which is useless when incoming email breaks, so some other method of notification is required. Ideally this is a piece of software that we can just run locally, but external services are also acceptable.
Background: Our ADSL modem has a stupid firewall that blocks incoming connections, which can be removed manually via telnet but comes back whenever the PPPoE connection drops. We're going to buy a new one soon, but having monitoring for email seems like a good idea generally.
Perhaps you're looking at this from the wrong way?
If this occurs every time your PPPoE connection drops, why not monitor that connection? Any time it drops, wait until it comes back up and then have a script that goes in and resets the required rules/configuration.
No reason to notify you of the problem if you can just automatically fix it (also reduced the amount of time the service is unavailable).
One method I've used in the past is to send mail to a test account, with a program checking that mailbox on a regular basis. If there's been "enough time" since the last received mail, there's a problem.
This can also be used to monitor mail delay through a larger email server network (that was actually the primary use of the code, but it also worked as a heads-up for mail server down issues).
If your modem/router allows you to loop back via the external interface (i.e. you can access internal resources via the public address from inside your network) you can just run a script to open and close an SMTP connection periodically. Unfortunately, not all routers allow you to loop back, so there would be no way to test it from the inside, so you would need to find a way to test it from the outside.
We use Nagios to send SMS text messages via Clickatell. Clickatell is not free, but it's low enough and the alerting important enough to make it worthwhile. We do send email as well, but the SMS is the major alerting method.
We use the standard Nagios checks to make sure that port 25 is open and that we get an SMTP banner back and similar on our POP3 service. We also have a set of custom checks which send an email and then attempt to read a POP3 box for that email. This gives us end to end testing, plus the individual service checks can give us additional information on what might be wrong, even if they both continue to work.
to truly monitor your ability for incoming connection you need to monitor it from outside and not from inside as from inside of your network you'll be able to reach port no problem yet from outside it may not be the case.
so you need to use 3rd party service to monitor it, and yes as you said its pointless to send to email that hosted with that mail server so you need to use another email as well (I personally use my SMS's email which is totally different from what mail server is hosting thus insuring that I'll get notify whenever there is an issue)
** UPDATE **
I'd write a script and would put it in cron that would check your firewall periodicity and if something would've needed to be changed that script would change it.
the other thing I'd escalate obtaining new equipment asap as this doesn't seem like reliable solution at the end of the day.
http://www.mailive.com/ will monitor SMTP flow, and call you if things go down. Useful to monitor that your systems are up, power is on, internet connection is working, etc.