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
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”):
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:
SELECT sAMAccountName, EMail FROM UserEntry WHERE sAMAccountName ='jama6'
USE PSTFlightdeckDirectory UPDATE UserEntry SET EMailfirstname.lastname@example.org'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.