If you want to attempt to fix zpush manually you can try doing it but I really can’t stress to you that you will have to keep doing this over and over again… The above solution works 100% without needing to keep working with ZPush.
root@mail:~# z-push-admin -a lastsync
Find the account that is affected.
z-push-admin -a remove -d fp1a6812ah747fbkkobqt3fjc8
(Where fp1a6812ah747fbkkobqt3fjc8 represents the affending device id)
Then try to reboot/retry the password, etc for it to sync mail again. If your mailbox is over 1GB expect it to take forever.
You could also try resyncing from ZPush with this command, but I find that its problematic
z-push-admin -a resync -u USER -d DEVICE
Again, I really can’t stress that setting up IMAP is the way to go.