I inherited a project from another engineer who left the company. It's an embedded device (home appliance) that sends email (does not receive). It installs in any home with DSL/cable/etc. It is programmable by the installer. I'm trying to learn all I can about SMTP authentication and have read all the pertinent RFCs, but questions remain.
Here's the way it DID work:
It can be programmed with-
SMTP server IP address & port
"To:" address and message body
Of course, several customers complained it wouldn't work because their server required them to log in. The original API available to me allowed for POP login, but not SMTP AUTH. So I added another programmable option: Username/password. If it is programmed with a username/password, it logs onto the POP server, then sends email (simple SMTP). If there is no user/pass programmed, it just sends mail. That fixed it for many customers, but not all. Some required SMTP AUTH.
So, I got the latest API update which includes functions for SMTP AUTH. If I can help it, I don't want to add any additional programming options. So...
If they require SMTP AUTH, I'll just use the username/password program fields already provided. But this raises the following questions -
How do I know whether they require POP login before SMTP or just SMTP AUTH?
Can I just ALWAYS log in to the POP server, then try logging into the SMTP server? Or will I need to make those options separate and selectable/programmable?
If I can attempt both, do I need to allow for two separate Username/passwords? How many service providers require or allow them to be different?
Also, is it OK to use the domain in the "FROM:" address as the parameter to the EHLO command? Or should that be a separate programmable option as well?
Depending on the answers I get to this, I may have a couple additional questions for clarification before closing this topic.