4
4 Comments

Synchronizing emails

Anyone have some ideas on how various CRMs accomplish an email sync feature?

https://www.agilecrm.com/sales-enablement/setting-up-email-sync

I thought it could be something they do on the fly - query the inbox for an email account the user adds, then pulls them on in request, but that seems like it would be unstable.

You'd have to download all emails, sync to a server so the app could pull from. That seems to be faster but a nightmare for security.

Thoughts on how to accomplish something like this?

on February 5, 2020
  1. 2

    It's really just as simple as you describe it. You provide them your credentials, with either OAUTH (preferred, as it's most secure) or user/password (cringe). Then they pull down the emails from the server just like any other email client would.

    Beyond providing user/password credentials, what aspects would you be concerned about security wise?

    1. 1

      Thanks. The storage of personal emails when we would sync them to a database to speed up the page loading is what I was thinking would be an issue.

      I suppose since I use React, I could just do a placeholder/spinner until the emails load in though. For some reason I have this belief that pulling from the server would be slow - I actually haven't tried to test it. Will try it this week.

      1. 1

        To solve a performance problem such as that, they'd likely pull down emails at a scheduled interval with a background job. This way, when the client makes a request, it'd be just loading the emails from the database and not trying to pull down the emails from a third party server. This would also increase the services stability when the third party server has outages.

        1. 1

          I think he is trying to avoid the security/privacy concerns of storing emails in a database.