Canon imageRunner 3030 suddenly unable to send email

Quick notes on an issue I resolved today:

Client’s imageRunner 3030 had been successfully sending scans via email for years. It was using mail.shaw.ca port 25 with no SSL or authentication – SSL failed to work so we lived without it.

4 days ago it stopped working. I was unable to get the device to successfully send via any other servers, eg. smtppro.zoho.com, or the testing service https://mailtrap.io .

In order to test sending from the device, I did a print-from-file, saved to a user inbox on the device instead of printing, and then had the ability to send that file from the inbox via email as needed. Consistent error message in the transmit log was 801 (very uninformative).

Tried the usual, rebooted the device, changed DNS servers, verified I could send email from my test Mac Mini (used Apple Mail and Thunderbird) to mail.shaw.ca. Was ready to give up and recommend buying something from this century (it actually appears to date from 2009).

Out of curiosity I pursued a little further, and was able to finally diagnose the issue with a combination of tcpdump to check what was being sent, netcat to test the outgoing email commands, an “expect” script for netcat, and a Java-based SMTP receiver on the local Mac: DevNull SMTP Server .

sudo tcpdump port 25 allowed me to watch smtp related traffic in & out of the test machine, so I could see exactly what was being sent to mail.shaw.ca (so I could format netcat commands correctly), and have a second copy of what the imageRunner was sending to the local test smtp server.

I started the DevNull server via terminal:

sudo java -jar DevNullSmtp.jar -p 25 launched the server with its window for monitoring, and used port 25, since it’s very difficult to specify the port for the imageRunner to use. I changed the SMTP server for the imageRunner to this IP of this test Mac.

Instead of laboriously typing netcat commands (after doing it a few times), I set up a simple script. This “microHOWTO” provided the example “expect” script as well as being a good reference on the commands. I merely edited the provided script with the particulars of the mail I was trying to get the imageRunner to send, using the same from: address etc. mail.shaw.ca didn’t send any mails from netcat until I included the to, from, and data fields in the DATA section of the mail, as done in the script here.

I was able to send test emails from the script through mail.shaw.ca. The incoming data from the imageRunner as viewed in the DevNull server looked almost identical, and here is where I finally found the source of the problem:

The hostname on the imageRunner was improperly set to “Canon iR3030”. This had never caused any problems before, but it was sending its hostname to the SMTP server in the EHLO line as “Canon ir3030.hitronhub.home” (the default local domain); the test Mac was successfully sending using its own hostname “macname.hitronhub.home”. I eliminated the space from the hostname, and the problem was fixed, the imageRunner was now able to send mail through mail.shaw.ca again.

Obscure little issue. Don’t put spaces in hostnames!

Comments are closed.