Please read carefully, I will try to use your notation to explain what I mean.
As you stated the SMTP requests consists of several portions. I’ll use the following short description as a reference ( https://technet.microsoft.com/en-us/library/aa995718(v=exchg.65).aspx ).
- Open connection
- Send EHLO
- Send AUTH LOGIN to start authentication process
- Send User name (Base64 encoded)
- Send Password (Base64 encoded)
- Send Mail From - Sender Address
- Send RCPT To - Recipeint Adresses
- Send Data - email itself
- Commit Mail and Quit
So, what google changed is affecting step 6. At that step they’re expecting an existing mail address - if it’s not delivered the mail is refused. BUT, at least for me, the issue that I see already occurs in step 4 and step 5. In step 4 the NVR doesn’t send the complete user name, in step 5 the base64 encoded password is truncated at approx. 14 characters. Both take place BEFORE the Mail From verification, so it has absolutely nothing to do with it!!
Again, what I checked through dumping the mail communication is that in step 4 you’re taking the data which are entered in the mail from field of the mail setup and truncatiung everything including and behind the @-sign. So Patty@zmodo.com will result in patty which you will encode via base 64 as send over as a user name. This is not sufficient as most mail provider (including google) require the complete mail address there as well.
Single providers are working with unique IDs instead of real names. They will ensure that this name is unique through all domains they’re hosting (or they’re just hosting one single domain). optimum.net, which was named a while ago is one of those. They say:
> 9.Under Logon Information, enter: ◦User Name: Enter your Optimum ID. (Your Optimum ID is the part of your e-mail address to the left of the "@" sign, for example: jsmith.)
In comparison, this is what google requires:
> Your full Gmail or Google Apps email address required for authentication
So truncating the user name might work for single providers but is not a general solution. So pleas read my posts from before how to solve.