This message could not be sent. Try again later or contact your network administrator. Error [0x80004005-000000000-00000000]

Issue: This message could not be sent. Try again later or contact your network administrator. Error [0x80004005-000000000-00000000]
Scenario: Organization has throttling policy with recipient rate limit of 10,000 per day set for the organization. For this org, service mailboxes aren’t throttled. User has 2 mailboxes (primary and service mailbox) opened in Outlook. User has send-as permissions to the service mailbox but as a group member.
User tries to send from outlook as service mailbox to multiple recipients but received error message. see error message below
Undeliverable: your message did not reach some or all of the intended recipients. This message could not be sent. Try sending message again later or contact your network administrator. Error is
[0x80004005-000000000-00000000].
Resolution: Advised user to send message using Outlook web Access. User needs to login to OWA and open the service mailbox. Messages can now be sent without throttling.

Alternatively, for a user that insist on using Outlook, user must be given explicit send-as permission to the service mailbox so as to be able to bypass throttling policy

Outlook: There is a problem with the proxy server’s security certificate. The name on the security certificate is invalid or does not match the name of the site. Outlook is unable to connect to this server.

Issue: Error message from Outlook: There is a problem with the proxy server’s security certificate, %s. The name on the security certificate is invalid or does not match the name of the site. Outlook is unable to connect to this server. (%s)
  
Finding/Resolution: Checked Outlook provider settings and saw that server and certificate was set to 2 dashes(–)
used this command to fix: set-outlookprovider EXPR -Server $Null and Set-Outlookprovider EXPR -CertPrincipalName $Null
The command will set outlook provider EXPR to Null(Blank). By doing so Outlook will rely on autodiscover to get the correct outlook anywhere settings

Clients connecting to recently installed servers, but the clients have delayed/no connection

Issue
**************
Clients were trying to connect to servers that were recently installed, but currently offline for the process of completing setup, causing the clients to have delayed, or no connection at all.
Cause
*************
The servers were not set with the right URL, and once the servers are installed into a site, autodiscover will query AD to get the URL and other information, even if the servers are offline, the information is in AD and can be returned to users.
Once the users received the Internal URL for the offline servers, they would try to connect to that internal URL, and eventually timeout, then they would connect to the externally listed url, https://mail.test.com
Resolution
**************
We did a couple of things to try and prevent users from getting to the down servers
1.       We set the SCP autodiscover record to be mail.test.com on the 4 new servers
a.       Set-clientaccessserver –AutoDiscoverServiceInternalUri https://mail.test.com/autodiscover/autodiscover.xml
2.       We then went into ADSI edit and modified the internal URL for outlook anywhere on the 4 new servers as well
3.       We then restarted the app pool for autodiscover to clear the autodiscover cache
a.       This then allowed users to set the connection point to mail.test.com
4.       For clients, they may need to do a repair profile to remove the server FQDN from the outlook profile and restart outlook
Next Steps
************
When the 4 new servers are brought back up verify that the outlook anywhere settings are correct from powershell.
Get-outlookanywhere <NEW SERVER NAMES> | fl
Check internal URL and make sure it is mail.test.com
May want to change the Internal URL to the mobile. For all the servers, removing the internal FQDN

Also change the AutoDiscoverServiceInternalUri for the client access servers to mail.test.com, so users do not try to use an individual server name when they discover an SCP record.

Set up an Exchange connection to your email in Outlook 2010 or Outlook 2013

Follow these steps.

1. Open Outlook 2010 or Outlook 2013. If the Microsoft Outlook Startup wizard appears, on the first page of the wizard, click Next. Then, on the E-mail Accounts page, click Next to set up an email account.
If the Microsoft Outlook Startup wizard doesn’t appear, on the Outlook toolbar, click the File tab. Then, just above the Account Settings button, click Add Account.

2. On the Auto Account Setup page, Outlook may automatically fill in the Your Name and E-mail Address settings based on how you’re logged on to your computer. If the settings are filled in and they’re correct, click Next to have Outlook finish setting up your account. If the settings on the Auto Account Setup page aren’t filled in or aren’t correct, do the following:

      If the settings on the Auto Account Setup page aren’t filled in, type the correct settings based on the information that was provided to you by the person who manages your email account.
      If the name in the Your Name box isn’t correct, you may need to reset the options on the Auto Account Setup page before you can edit your name. To reset the options, click the option button next to Manually configure server settings or additional server types, and then click the option button next to E-Mail Account.

3. After you click Next on the Auto Account Setup page, Outlook will search online to find your email server settings. You’ll be prompted to enter your user name and password during this search. Make sure that you enter your full email address (for example, tony@contoso.com) as your user name.

If Outlook is able to set up your account, you’ll see the following text: “Congratulations! Your email account is successfully configured and ready to use.” Click Finish.

Reference

Outlook 2013: Conditional formatting settings will not save.
Resolution: run outlook from command line with the /cleanviews switch.
Example: “C:Program Files (x86)Microsoft OfficeOffice15OUTLOOK.EXE” /cleanviews

Scenario: Customer is running Exchange 2010 and Exchange 2013 servers in coexistence. The servers have the latest rollups and patches. Users using Outlook 2013 with mailbox on Exchange 2013 are not able to edit calendar of an Exchange 2010 mailbox user.

Note that customer is running Windows 7(sp1) and Outlook 2013 sp1

Resolution:  Run windows update and ensure Outlook and Office 2013 are all patched to this version: 15.0.4615.1000

Outlook 2013 slow to connect to exchange server.

Issue: Outlook 2013 slow to connect to exchange server.
Resolution: Enabled diagnostic logging and reviewed the OPMLOG.Log file.
Found this error message; Failed to initialize resource manager (hr = 0x80040401)
Steps to resolution: Closed and reopened Outlook. Still didn’t work
Exit Outlook. Check task manager for outlook.exe and end process
Exit Lync

Restarted Outlook and It worked

Outlook is unable to connect to the proxy server. (Error Code 0)

Scenario:  Users using Microsoft Outlook receive a pop up saying that Outlook is unable to connect to the proxy server. The exact error is:

There is a problem with the proxy server’s security certificate. The name on this security certificate is invalid or does not match the name of the target site mail.domain.com.  

Outlook is unable to connect to the proxy server. (Error Code 0) 

Resolution:  We noticed that the Certificate Principal Name had a invalid value in the Outlook Profile.  In our case it showed a ‘-‘ in the field for ‘Only connect to proxy servers that have this principal name in their certificate:’.  When we ran this command-let in Exchange Shell: Get-Outlook Provider, we saw there was a ‘-‘ for the Server and CertPrincipalName property.  This was causing autodiscover to hand this value out to Outlook Clients.  We resolved by resetting these values to $null:

Set-OutlookProvider EXPR  -server $null -CertPrincipalName $null

Add a Calendar Meeting in Outlook through Powershell

The link at the bottom of this blog contains a good script that will allow you to create calendar meetings in Outlook through PowerShell.  This was helpful when I had to buildup a calendar in size to simulate another users exchange calendar for testing.    Below are the changes I made to the script so I could add attachments into newly created calendar appointments.  I know-I know, we shouldn’t be adding attachments into the appointment directly, hence the reason for the simulation of the problems the user is experiencing that needs to be proven.

I added this parameter/variable in the list of parameters:
    # Attachment Location, to hold value similart to: C:folderattachment.jpg
    [string] $file

I added this scriptlet to the Process:     
         $attachment = new-object System.Net.Mail.Attachment $file
         $newCalenderItem.Attachments.Add($file)

Boom. Now I can run the following command to create an appointment and add an attachment to build up the size of the calendar:

Add-CalendarMeeting -Subject “test recurring219” -Location “Steves Cube” -Body “Test” -MeetingStart “5/14/2014 18:00” -MeetingDuration 30  -file “C:UsersusernameDesktopfileabstract.jpg”

Link to the Original Script for download.

Removing Duplicate Contact Items in a Exchange Mailbox

Scenario:  You have a mailbox that has hundreds of copies of their contacts in their mailbox.  For example, a user originally had 2500 contacts and now has 800,000 contacts because of the multiple copies.   Here are the steps I followed to resolve this issue.

1. Export their contacts in the users Outlook to a CSV.   In my scenario, the outlook session was locking up so I exported the PST out via Exchange Shell and then re-exported to a CSV out of Outlook. (New-MailboxExportRequest mailbox -IncludeFolders “#Contacts#” -ExcludeDumpster -FilePath servershare$contacts.pst -name mailbox  -acceptlargedataloss -baditemlimit 999)

Outlook 2013:  File–>Open&Export–>Import/Export–>Export to a File–>Comma Separated Values–>Select Contacts Folder–>Save Exported File to location –> Click Finish.

2. Open Powershell, and Import the CSV created in step 1 into a Variable.
$File = Import-CSV “C:usersusernamedesktopuserscontacts.csv”

3. Select the unique values for the $File, compares all columns.
$uniq = $File | Select * -unique

4. Export the unique values to a .csv file
$uniq | Export-csv “C:usersusernamedesktopuserscontacts_unique.csv”

5. Delete the existing contacts in the users mailbox via Exchange Shell.  The Search-Mailbox has a 10,000 item limit. I put the command in a loop so it continues to remove all contacts at 10,000 per loop cycle.

do {
Write-Host $i
Search-Mailbox mailbox -SearchQuery kind:contacts -DeleteContent -Force
$i++
}
while ($i -le 81)

6. Opened Outlook 2013 and followed similar steps as step 1, except I performed the import on the unique CSV.  Note, I did have to clean up the CSV by removing the very first line as the very first line was not the column names.  In order for the CSV import to work, the first line needs to be the column names and NOT the other junk that export may have carried over.

Now the unique contacts are restored.