Short:
Use the external IP address, force it into all instances of the connection - Mail, Contacts, Calendars, Notes, and Reminders. If your external mail server is populated in the preferences box - from OUTSIDE your corporation, use the command $ nslookup {mail.server.address} to find the IP address, then use that IP Address in all the boxes. Save the account info, exit the apps, restart your Mac. You should be good from then on.
Long:
I had the same problem and worked through my difficulties and have a solution.
Also, I believe the problem is with Internet Accounts - common information between Mail, Contacts, Calendars, Notes, and Reminders.
For me, I could force the problem to reproduce by VPNing into my corporate network, then disconnecting the VPN - minutes or hours later, didn't matter. While the transition into the corporate network went fine, it appears to get stuck trying to use the Internal name/IP even after disconnecting. It would not "release" this lock until I rebooted. I even tried the whole tech support 45 minute phone call, add a "take offline / online" Toolbar Shortcut, etc - none of it worked until I rebooted each time.
Now I believe you could resolve it by resetting the network connection ($ sudo ifconfig en0 down / $sudo ifconfig en0 up), but I resolved my issue before testing that out. And who wants to reset the network connections everytime this problem comes up?
I discovered my Internal and External server boxes were inconsistently populated, and decided to manually populate all of them (turn off autodisover) with the IP Address of the external server, so it would always work whether inside or outside the company network.
Preferences (Command ,) then Accounts, select your exchange account in question:
Account Information tab - un-check the Autodiscover service, manually enter the IP of the external server in both Internal Server and External Server boxes.
Advanced tab - make sure your Internal Paths and Ports are manually configured properly (with or without SSL as needed by your mail server).
Save the settings (change accounts or close preferences and save).
You may be prompted with a warning - the SSL Certificate does not match. This is because your "*.company.com" SSL Certificate does not match the xxx.xxx.xxx.xxx IP Address you entered - which is understandable. Just verify the certificate is for your company's domain, and Accept (Trust) it permanently - which will require you to provide admin credentials to save the certificate settings.