Password Recovery Email Not Received

Hello,

I am trying to add password reset functionality to our app, and decided to just stick with Backendless’ built-in functionality for now. In our app, I call Backendless.UserService.restorePassword(email) with email being a variable. But the email is never received.

Things I have tried:

  • Copy/pasting the email from the database to ensure it is correct
  • Using different emails
  • Adding a console.log immediately beforehand to ensure the email is correct
  • Using both our SendGrid API or Backendless’ basic email service
  • Creating a Cloud Code function that just runs restorePassword

If I go to “User Requests Password Recovery By Link” email template and click “Test Email” with the same email address, I receive the email, so we are able to send emails.

I have attempted to check logs, but no errors are shown. The function appears to be called correctly, but nothing happens.

Our app ID is 0C7079AC-2AA6-4757-FF6B-0389C13B6900; however it is worth noting we have two Backendless instances (for development and production) and this issue affects both apps the same.

I appreciate any help in getting password reset working.

As I have continued to look into this, I have identified that this is a case of emails being blocked. I expected at most they would be moved to junk, but Outlook is entirely blocking the emails from being received, from both our custom SendGrid email address as well as the default Backendless email address.

By going through different email clients I have access to, I was eventually able to find one that moved it to junk rather than blocking the email entirely.

The notable issue here is: our other emails through SendGrid have always worked fine, and this also seemed to occur when we used Backendless’ default sender address. So it seems like the password reset emails specifically are getting blocked.

So, if anyone has any insight why the password reset emails specifically would be considered spam (or how to resolve it), that would be appreciated. For now I will attempt to improve deliverability with our SendGrid emails.

Hi Jesse,

It might be related to the domain name used in the link in the email. I suspect the mail server applies a false negative to our domain. Try adding a custom domain to your Backendless app, wait till a certificate is assigned (the app should be on a paid plan) and then see if that change makes the difference with the deliverability.

Regards,
Mark

To test, I tried just removing the link from the password reset email template, and the email platform that previously moved it to junk now treated it normally, so that is an improvement.

However, Outlook still blocked the email. I checked the SendGrid activity, and the emails to Outlook show the following error:

The mail server [xxx.xx.xxx.xxx] has been temporarily rate limited due to IP reputation. For e-mail delivery information, see https://postmaster.live.com

So it seems like this was a combination of two issues: the link URL and our SendGrid address’s deliverability.
Using a custom URL for the link seems to fix the first issue, but our SendGrid address will need improved deliverability to ensure the emails aren’t blocked.

Thank you very much! I believe we have the direction we need to get this working now.