Skip to content

Common Errors

I cannot Sync my Resource (Email) - 400 Client Error

1. Description - ValidationError

When pressing Sync button in the Lime Admin when adding a new resource I get the error:

{
    "error": "400 Client Error: Bad Request for url: https://graph.microsoft.com/v1.0/subscriptions/<MY SUBSCRIPTION ID>",
    "description": "Subscription validation request failed. Notification endpoint must respond with 200 OK to validation request.",
    "code": "ValidationError"
}

1. Solution

This is due to that your custom endpoint for notifications doesn't respond correctly. This could be due to some different reasons:

  1. Your endpoint is not accessable on the internet (Maybe a firewall needs to be configured or a SSH Tunnel needs to be opened to your local machine)
  2. The Lime user that is configured to be used for MS Inbox (Default: [email protected]) doesn't exist. See here

2. Description - InvalidRequest

When pressing Sync button in the Lime Admin when adding a new resource I get the error:

{
    "error": "400 Client Error: Bad Request for url: https://graph.microsoft.com/v1.0/subscriptions",
    "description": "The remote name could not be resolved: 'my-customer.domain.se'",
    "code": "InvalidRequest"
}

2. Solution

This is due to that your Miscrosoft cannot access the DNS that directs the request to the customer server.

It could be that your endpoint is not accessable on the internet (Maybe a firewall needs to be configured)

I cannot Sync my Resource (Email) - 403 Client Error

Description - ExtensionError

When pressing Sync button in the Lime Admin when adding a new resource I get the error:

{
    "error": "403 Client Error: Forbidden for url: https://graph.microsoft.com/v1.0/subscriptions",
    "description": "Operation: Create; Exception: [Status Code: Forbidden; Reason: Access is denied. Check credentials and try again.]",
    "code": "ExtensionError"
}

Solution

This is due to our application in the customers azure portal is missing the correct privileges. Make sure that the customer has done this part in the configuration.

I cannot Sync my Resource (Email) - 404 Client Error

Description

When pressing Sync button in the Lime Admin when adding a new resource I get the error:

{
    "error": "404 Client Error: Not Found for url: https://graph.microsoft.com/v1.0/subscriptions",
    "description": "Operation: Create; Exception: [Status Code: NotFound; Reason: The requested user 'MASKED_ENTRY' is invalid.]",
    "code": "ExtensionError"
}

Solution

This is due to that the email address that you want to listen to is invalid or not accessible

Make sure that the inbox is correct and that you have access (double check with customer).

A "loop of death" has been created, how do I stop it?!

Description

Lime inbox are sending and recieving automatic replies with another inbox somewhere. Causing infinite amounts of trash-helpdesks to be created.

Solution

The reasons for this could be many things, but most likely it's a problem with the email header automatic-reply not being used the correct way. From limepkg-ms-inbox v4.1.0 (using limepkg-transactional-message-library v1.2.0) the lime-inbox helper functions are using this header when sending auto-replies. But if the other mailbox ignores this and don't send the header themselves, there is not much we can do.

From limepkg-ms-inbox v4.2.0, what you can do is temporarily inactivate the resource in lime-admin using the checkbox and then sync and save. Then ask the customer to remove any offending emails from the inbox manually and then activate the resource again.

I can manually renew the expiration date on a resource but the scheduled task doesn't work!

Description

Lime inbox works but the automatic renewal of expiration_date_time does not. But you are able to manually renew it by pressing Sync and Save.

Solution

  1. Ensure that your application has the language en_us activated. This is a default language of Lime CRM and should be activated, even though it is not used. Logs usually post something like Invalid task, this task will not be scheduled. Reason: ['language en_us does not exist on application'] when the scheduled task tries to run (at 18.00, 22.00 and 04.00).
  2. If you have en_us activated in your application but still experience problems - ensure that your taskhandler is feeling healthy.

Warning

Beware that activating a language (such as en_us) in LISA will add missing translations to existing fields and tables. If a user logs in with an untranslated language, they will instead see database names. If possible, try activating the language locally or in a test environment before activating it in the production environment. This way, you can ensure that nothing breaks for the clients and that you can translate and present a good user experience

The recovery functionality doesn't work for my on-prem customer

Problem number 1

Start with making sure that you get the method not allowed message from the endpoint internally as described in the solution below.

If it still doesn't work to use the recovery, go to Problem number 2.

Description

When using the recovery functionality you get an error similar to this in the webserver log:

Solution

Make sure that the configured recovery endpoint is accessible from the application server. You can test this by copying the recovery-URL into a browser on the application server, you should get a message saying method not allowed. If you don't get method not allowed, that means that the customers DNS isn't accessible internally, usually it can be fixed by editing the hosts file on the server.

Redirect customers DNS to localhost by editing the hosts file

  1. Open the file %WINDIR%\System32\drivers\etc\hosts in a text editor.
  2. Add this line at the end of the file (Make sure to change the my-customer.dns.com to the customers DNS):

    127.0.0.1        my-customer.dns.com
    

If it doesn't work you need to contact the customers IT and ask them to make the external server DNS accessible internally from the application server as well.

Problem number 2

Please make sure that you've solved the problem number 1 before continuing with this solution.

Description

If you get an error message like this in the web server logs when trying to use the recovery:

requests.exceptions.SSLError: HTTPSConnectionPool(host='CUSTOMER_HOST', port=443):
Max retries exceeded with url: /URL-TO-INBOX/ENDPOINT/
(Caused by SSLError(SSLCertVerificationError(1,
'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed:
unable to get local issuer certificate (_ssl.c:1056)')))

It could be many different things but the two most common is:

Potential solution 1 (The customer is using a self-signed certificate)

If the customer is using a self-signed certificate it can be a problem for the lime server to trust it. Therefore you can configure what certificate we should verify against when using the recovery.

See Configuration (path_to_verify_cert)

Potential solution 2 (Missing the entire certificat chain)

Make sure that the Lime CRM Server certificate is installed with the entire certificate chain.

If it's not, this is one way to add the entire chain:

Danger

Make sure that the connection is secure in the browser

  1. To solve this you can in the browser go to the inbox URL where you'll get the method not allowed message and download the certificate.

    Change cert

  2. Open the newly downloaded certification file and the Lime CRM Webserver certificate file %programdata%\Lundalogik\LIME Pro Server\Web Server\certs\cert.pem using a text editor.

  3. Make sure that all the contents of the Lime CRM Webserver certificate exists in the newly downloaded file. The newly downloaded file might contain more though.

    • This is just to make sure that you have downloaded the correct certificate
  4. If the newly downloaded certificate contains more than the Lime CRM Webserver certificate then copy all the certificates (the entire chain) from the newly downloaded file to the Lime CRM Webserver file.

  5. Restart the Lime CRM Webfront service

  6. Now it should work!

No emails are coming in automatically, but recovery is working fine.

Description

There are no emails coming into Lime without running the recovery functionality manually or automatically with the scheduled recovery task. This is common during first setup if there has been issues with firewalls or similar. The problem is most likely that your subscription has been blocked by microsoft due to them not being able to reach our endpoint.

Solution

You need to delete the subscription and then add it again. You do this by pressing the trashcan icon on the resource in Lime Admin and then press Sync and save. Remember to write down the current configuration before removing it. After that you just add the same resource again and press sync and save.

Emails from a specific address are not coming in to lime.

Description

Emails from a specific address are not coming in to lime, and there are no errors or logs describing why. This usually happens when these emails are being sent by another system. The reason that lime is not consuming them is most likely that they contain headers that indicate that they could be sent automatically (e.g. autoreplies). This is the default behaviour, in order to avoid infinite loop and irrelevant emails.

The relevant headers are:

{
    "Auto-Submitted": "auto-replied",
    "X-Auto-Response-Suppress": "All",
    "Precedence": "auto_reply"
}

To verify that an email contains these headers, open the email in outlook and click on view message details. Scroll through and look for any of the headers above, it could be all or any, it only takes 1 to cause lime to ignore the message.

View Message Details in Outlook Email Headers

Solution

There are 2 ways to go about this problem.

  • Option 1: Inform the owner of the other system. It might be that they aren't aware that they use these headers. Or it could be that they can change/remove these headers when sending to us.
  • Option 2: in your code, add a special case for the email address so that you only check for "is_autoreply" if the email address doesn't match your special case.