Issue
Sometimes the Office 365 Ingest Module might fail with the following error:
Failure The SMTP address has no mailbox associated with it.:

QUADROtech.FlightDeck.PostProcess.SerializedException:
The SMTP address has no mailbox associated with it.
   at QUADROtech.FlightDeck.PostProcess.GenericWorkerTask`3.Execute
 (CancellationToken cancellationToken, Int32 workerId)
   at QUADROtech.FlightDeck.PostProcess.GenericTaskProcessor`
 1.ProcessWorkItem(TWorkItem item)


You can also find an error in the particular Office365 Worker log file:

2016-03-24 14:09:23Z|DEBUG|P:4284|T:5|IngestProcessor|Getting root folder identifier for [NoEmail@domain.com (Archive)]  original file name:[My_PstFile]
2016-03-24 14:09:23Z|TRACE|P:4284|T:5|ConnectionWrapper|Getting service [O365Ingest@domain.onmicrosoft.com].
2016-03-24 14:09:23Z|TRACE|P:4284|T:5|ConnectionWrapper|Creating new service [O365Ingest@domain.onmicrosoft.com].
2016-03-24 14:09:24Z|TRACE|P:4284|T:5|EWSExecutor|[NoEmail@lab.quadrotech-it.com]: Executing action with credentials [O365Ingest@domain.onmicrosoft.com].
2016-03-24 14:09:27Z|TRACE|P:4284|T:5|FolderHandler|Error during execution of function, retry [1/3]
2016-03-24 14:09:27Z|TRACE|P:4284|T:5|FolderHandler|Error during execution of function, retry [2/3]
2016-03-24 14:09:28Z|TRACE|P:4284|T:5|FolderHandler|Error during execution of function, retry [3/3]
2016-03-24 14:09:28Z|ERROR|P:4284|T:5|EWSExecutor
|[NoEmail@lab.quadrotech-it.com]:
Error during call to Exchange Service - ServiceResponse details:
[The SMTP address has no mailbox associated with it. 
[ErrorNonExistentMailbox]: [] [SmtpAddress:NoEmail@domain.com]].

2016-03-24 14:09:28Z|ERROR|P:4284|T:5|IngestWorker|Problem with ingestion
EXCEPTION: Microsoft.Exchange.WebServices.Data.ServiceResponseException: The SMTP address has no mailbox associated with it.
   at QUADROtech.ExchangeWebServices.Connection.EWSExecutor.CallService(Action`3 actionToExecute, String smtpAddress, Object state)
   at QUADROtech.ExchangeWebServices.Folders.FolderHandler.GetFolderId(String path, Object state)
   at QUADROtech.FlightDeck.Office365.Ingest.Library.IngestProcessor.CheckIngestDestination()
   at QUADROtech.FlightDeck.Office365.Ingest.Library.IngestProcessor.Execute()
   at QUADROtech.FlightDeck.Office365.Ingest.Library.IngestWorker.Start()
2016-03-24 14:09:28Z|INFO|P:4284|T:5|IngestWorker|Ingest worker finished

 
Solution
The user may have a valid mailbox in Office 365, but there may be a problem with the email address linked to the user’s account in the PST Flight Deck database (see the screenshot above – field “Email”):

  1. Email address is missing for some reason – please make sure the “Synchronize Active Directory” task runs correctly.
  2. The email address linked to the account (sAMAccountName) is not the email address of the user’s Office 365 mailbox (i.e., email address is actually in another domain) – AD synchronization doesn’t help in this case. You need to update the email address to the right user’s Office 365 email address manually. You can do that only in the SQL; PST Flight Deck Admin Console doesn’t support this. Please follow the steps described further in the KB article.

How to manually change user’s email address in the PST Flight Deck database
1. Disable the “Synchronize Active Directory” task. As we are going to change the email address linked currently to a user; and this will avoid setting the email address back. You can do that in the PST Flight Deck Admin Console:
Settings -> Scheduled Task -> select “Synchronize Active Directory” task and hit Edit in the ribbon -> remember the current configuration for setting the value back later on; then select Run “Never” and hit Update to save the change.

2. Update the user’s email address in SQL by running the update statement in the SQL Management Studio – here are the example statements:

–This SQL query will give you the current user’s email address
–Please specify the sAMAccountName!!!
SELECT sAMAccountName, EMail FROM UserEntry WHERE sAMAccountName ='jama6'
 –This UPDATE statement will update the email address of the user specified in WHERE clause
–Please specify the sAMAccountName and the email address!!!
USE PSTFlightdeckDirectory
UPDATE UserEntry SET EMail='jama6@domain.com'WHERE sAMAccountName ='jama6'

This change will be visible in the PST Flight Deck Admin Console:

3. Reprocess the failed PST file(s). This can be also done in the PST Flight Deck Admin Console:
Manage -> Users -> filter the particular user -> select a failed PST file -> hit “Remove Process” in the ribbon -> mark the “Ingest – Office365 (Archive Mailbox)” entry and hit Re-process

PST file should be ingested successfully into Office 365 mailbox this time:

4. Once the PST file is successfully ingested into Office 365 don’t forget to enable the “Synchronize Active Directory” task again:
Settings -> Scheduled Task -> select “Synchronize Active Directory” task and hit “Edit” in the ribbon -> then revert the setting back to previous configuration (Run “At selected times”) and hit Update to save the change.

Print Friendly, PDF & Email