Why can I receive email, but not send any?

Email transport diagram
Simple Mail Transport Protocol (SMTP) is the method used to send messages through the Internet. Understanding SMTP helps to see what causes this situation.

To send mail via an SMTP server you will need a mail client (also referred to as a program or application). Mail clients include Microsoft’s Outlook, Outlook Express, Thunderbird or Apple Mail. The mail client communicates via SMTP protocol to send the message from your computer to the SMTP server. The SMTP server communicates with other SMTP servers to send your mail to the recipients’ mailbox.

There are two reasons why you are able to receive mail but not send any.

Authentication failed. You need to authenticate before you can relay mail. This means you will need to use either SMTP Authentication (if your mail client supports it) or POP before SMTP (where the mail client checks your mail before sending).

Spammers, who send millions of junk, unsolicited email every day are always on the lookout for insecure SMTP servers that will relay their junk mail. In order to prevent this practice it was recommended years ago that anyone using an SMTP server must be authenticated first. Since the SMTP protocol does not have an authentication system it must use an alternative protocol for authentication. Every SMTP server must have associated with it a POP3 server for this purpose.You may also try manually checking your mail prior to sending out email. If you are not using SMTP-Auth you must have checked your email within the 15 minutes prior to sending email so that the server can authenticate you as a valid user.

ISP is Blocking Port 25. If your ISP is blocking port 25, this will prevent you from using the standard SMTP port to send email. Some ISPs do this so that you are forced to use their email servers when sending email, as an attempt to control junk mail. Some ISPs that have been known to block port 25 are Comcast, Earthlink, and AT&T. A quick test and possible workaround is to try changing the SMTP port setting in your mail software to use port 1025 or 587, then try to send again.

If you are using a laptop or other portable device that may be used to connect to several networks using port 587 will relieve you of changing your email server settings for each location.

Apple Releases OS X Bash Update 1.0

Apple has released security update OS X Bash Update 1.0.

The  patch is available as three separate downloads for OS X Mavericks 10.9.5, OS X Mountain Lion, and OS X Lion. A  patch for OS X Yosemite Public Beta and Developer Preview releases are not yet available.

The download is very small, around 3.5MB.

More information at OS X Daily: http://osxdaily.com/2014/09/29/os-x-bash-update-1-0-shellshock-patch/


Almost anything you can do with cron you can do with launchd

Nathan Grigg wrote a useful article as an overview of Apple’s launchd. He discusses a few tools that help make creating and managing launchd agents easy.

Schedule jobs using launchd
Last updated 15 March 2014


Fix a Failing Open Directory

Applicable to OS X Server 10.7.5.

Fixing a Failing Open Directory

When a server running hangs and the machine is power cycled the Open Directory sometimes fails to restart. System reports (database “cn=authdata” cannot be opened, err 12).

To repair the Open Directory authdata database:

$ sudo launchctl unload /System/Library/LaunchDaemons/org.openldap.slapd.plist
$ sudo db_recover -h /var/db/openldap/authdata/

In Tool mode slapd  outputs:

$ sudo /usr/libexec/slapd -Tt
bdb_db_open: database "dc=nl2,dc=probackup,dc=nl": unclean shutdown detected; attempting recovery.
bdb_db_open: database "dc=nl2,dc=probackup,dc=nl": recovery skipped in read-only mode. Run manual recovery if errors are encountered.
bdb_monitor_db_open: monitoring disabled; configure monitor database to enable
config file testing succeeded

Next, turn Open Directory back on:

$ sudo launchctl load /System/Library/LaunchDaemons/org.openldap.slapd.plist

Finally, issue another restart:

$ sudo reboot

Open Directory is back up and running again.

Fixing Server Alerts when it fails

Applicable to OS X Server 10.7.5.

The Server Alerts logs can get corrupted and when it does Server.app will not be able to load it. CPU usage will increase and use a lot of the available resources. The processing ball  spins forever or sometimes ends with an “Error Reading” alert.

Server Alerts are logged by emond directly to the ASL events database, and are stored in /var/log/eventmonitor . Deleting the log will clear the problem.


sudo rm -rf /var/log/eventmonitor/*

to remove the events ASL database, then quit and re-open Server.app.

A new events database is  recreated after deleting the contents of the eventmonitor folder and opening Server.app again.  Server Alerts  functions normally and logging resumes after clearing  the existing database files.