Design and Implementation of a CRM System Based on Email Services ()
1. Introduction
Customer relationship management (CRM) is an indispensable part of modern enterprise management [1]. With the popularization of information technology, how to efficiently manage customer data, explore potential customers and maintain customer relationships has become a key factor in corporate competition [2]. However, many small and medium-sized enterprises are still faced with the challenge of how to effectively manage customer information. Currently, many enterprises do not use professional CRM systems, but rely on Excel files, manual data entry or some local software to maintain customer information. These methods are not only inefficient, but also prone to information redundancy, untimely updates and customer data accuracy problems as the amount of data increases.
In addition, although email has become the main channel for enterprises to communicate with customers, many enterprises have not fully utilized the potential customer information contained in emails. Due to the fragmentation of email content and the unstructured nature of information storage, sales staff often find it difficult to quickly and accurately extract valuable information from emails, which affects the efficiency of customer management and business development.
In order to solve these problems, this paper proposes a CRM system design based on historical email records. The system can automatically identify potential customers, extract key information and automatically archive it into the customer database by analyzing and processing historical email data [3]. In addition, by combining crawler technology, the system can supplement and enrich customer data on the Internet, such as company background, industry information, social media accounts, etc., to achieve more comprehensive and accurate customer profile management [4].
This email-based CRM system design not only improves the efficiency of data collection, but also reduces the workload of sales staff in manually entering and updating data, allowing them to devote more time and energy to customer communication and business development. At the same time, the system can help the sales team quickly identify potential customers and follow up on customer needs in a timely manner, thereby improving sales conversion rates and customer satisfaction [5].
2. Literature Review
In the past few decades, customer relationship management (CRM) systems have been widely studied and applied. As an integrated information system, CRM systems are designed to help enterprises manage interactions with customers, optimize marketing activities, improve customer satisfaction, and thus promote enterprise growth and competitiveness. With the development of information technology, the functions of CRM systems have been continuously expanded, especially in the field of small and medium-sized enterprises (SMEs), and more and more enterprises have begun to use CRM systems to improve customer management efficiency. However, when facing the needs of SMEs, existing CRM systems still have many shortcomings, especially in terms of cost, complexity and data integration.
2.1. Research and Development of Existing CRM Systems
The market offers a variety of mature CRM solutions, such as Salesforce, Zoho CRM, and HubSpot, which provide extensive features including sales automation, customer analysis, email marketing, and more. These systems often require a lot of configuration, customization, and high cost investment, so they are not always an ideal choice for small and medium-sized enterprises with limited funds and resources. For example, Salesforce, as the world’s leading CRM platform, although it has comprehensive functions, its high cost and complex interface can deter SMEs from fully leveraging its potential.
2.2. CRM System for SMEs
CRM systems for SMEs should focus on easy operation, convenient data import and low-cost operation. The system should have an intuitive user interface and simple operation logic so that marketing and sales staff can quickly get started without long-term training. In addition, the system should support data import in common formats such as Excel, migrate customer data with one click, and automatically complete data cleaning and field mapping to ensure data accuracy. Lightweight system architecture, especially solutions based on microservices or cloud platforms, can significantly reduce the hardware and operation and maintenance costs of enterprises, and are suitable for deployment and use by SMEs with limited resources.
2.3. Existing Problems and Contributions of This Study
Although existing research and system design have made some progress in the field of CRM, there are still some significant problems in the application of existing CRM solutions in SMEs, including system complexity, implementation cost and data management difficulties. Compared with these systems, the CRM system based on email services proposed in this study focuses on simplifying customer relationship management through email mining and data enrichment technology. The system can not only efficiently process email data, but also provide dynamic tracking and customer management functions, which is particularly suitable for SMEs that rely on email for customer interaction.
The innovation of this study is that by using email as the main data source, it not only improves the accuracy of potential customer identification, but also significantly simplifies the customer data management process of SMEs. In addition, the design of the system fully considers the characteristics of SMEs, focusing on low cost, easy implementation and high efficiency, providing SMEs with a CRM solution with practical value.
3. Functional Requirements Analysis
The CRM system designed in this paper based on email service mainly covers the following functional modules: historical email analysis; lead pool management; customer management and correspondence email management. The comprehensive Requirements of the CRM System are shown in Figure 1. The following is a detailed demand analysis for each functional module.
Figure 1. Comprehensive requirements of the CRM system.
Historical email analysis: mainly includes email mining and web crawler. The purpose of email mining is to extract valuable information from a large number of historical emails [6] identify potential customers and exclude common personal emails. The web crawler function is used to capture public information related to a specific industry or company from the Internet to improve the lead data.
Lead pool management: mainly includes lead information maintenance and lead conversion to customer functions. Lead information maintenance refers to the entry and update of lead information. The system can record the basic information of customer leads, including company name, contact person, contact information, source channel, etc., and supports updating and modifying the information of existing leads [7]. It also supports the maintenance of lead status. For example, customers can set the status of each lead (such as “new lead”, “pending”, “converted”), and the status change helps sales staff to follow up in time. The lead conversion to customer function provides users with a channel to convert high-value leads into customers. After the client confirms the validity, the lead will be converted into a formal customer while retaining the original lead information.
Customer management: mainly includes customer information maintenance, dynamic management and lead conversion. The customer information maintenance function is to manage customer detailed data, such as customer name, contact person, contact information, main business data, etc. The customer dynamic management function is used to track customer activities and changes in real time, helping sales staff to adjust communication strategies in a timely manner. The system provides records of every behavior between the salesperson and the customer, such as email contact, telephone communication, video conference, etc. When the salesperson believes that the customer no longer needs to be maintained, the system allows the salesperson to put the customer’s returned lead back into the pending pool for other sales staff or teams to follow up. The system supports sales staff to fill in the reason for returning the lead and update the lead status, which facilitates subsequent analysis and optimizes the lead screening process.
Email management: includes email and attachment archiving function. It is used to ensure that all emails and attachments with customers are archived for subsequent retrieval and review [8]. For email and attachment archiving, the system can extract the basic information of emails and attachments and store them in a structured manner, such as email title, sender, recipient, email sending time, email receiving time, attachment name, size, file type, etc., to facilitate subsequent multi-dimensional query. At the same time, the email body and attachments are also stored as objects for easy subsequent preview.
4. Comprehensive Architecture Design
To meet the functional requirements of the system, the overall architecture design adopts a layered architecture approach. Modular design is used to ensure that the system possesses good scalability, stability, and security.
4.1. Comprehensive Design Concept
The system architecture is divided into four layers: presentation layer, business service layer, data access layer and data storage layer [9]. The Software Architecture Diagram is shown in Figure 2.
Figure 2. Software architecture diagram.
Presentation layer: provides users with an interactive interface and supports multi-device access, which mainly includes: lead list, lead details, customer list, customer details, email and attachment list, email and attachment preview.
Business service layer: implements core business logic, including email mining, web crawlers, lead management, customer management, email and attachment archiving and other functional modules.
Data access layer: mainly responsible for interaction and access with relational databases, email systems, cloud storage and message queues, ensuring efficient and secure reading, writing, storage and transmission of various types of data.
Data storage layer: the system selects Oracle database to store structured leads [10], basic information of customers and emails; Kafka is used as the email subscription event message queue [11], and the email system is a third-party email service, from which the original and complete email information is obtained; S3 Bucket is used as the storage medium for email originals and attachments [12].
4.2. System Microservices Architecture
The system adopts a microservice architecture design [13] and is divided into four core services: email mining service, web crawler service, lead and customer management service, and email archiving service. The services communicate with each other through RESTful API or message queue Kafka. The System Microservices Architecture is shown in Figure 3.
Figure 3. System microservices architecture.
Email mining service: mines potential customers from corporate emails and generates lead data as an important source of data for leads and customer service;
Web crawler service: crawls public network resources (such as corporate official websites and social media) to improve lead information;
Lead and customer management service: provides operations for creating, updating, and deleting lead and customer information, supports converting leads into customers, and returns inactive customers to the lead pool. At the same time, the service supports recording customer dynamic activities for subsequent tracking and analysis.
Email archiving service: provides long-term storage and management of emails and their attachments. Supports quick retrieval and preview based on the basic information of emails and attachments.
5. System Function Design
The CRM system based on email service integrates email information, mines customer leads, and supports functions such as lead management, customer management, and email exchanges. The system mainly includes the following functional modules: historical email mining, lead pool and customer management, and email exchange management. The functional design of each module is described in detail below.
5.1. Historical Email Mining
The historical email mining module is the source of data for the system. By analyzing the historical email records, it extracts potential customer information and enriches the lead pool. This module includes the scheduling and execution of scheduled tasks, the stock and dynamic incremental analysis of historical emails [14], and the crawler-based lead data completion function. The Design of the Historical Email Mining Module is shown in Figure 4.
Figure 4. Design of the historical email mining module.
1) Scheduled task scheduling
a) The system automatically executes the historical email analysis task every day through the scheduled task module. The default task time is every morning (such as 00:00).
b) Scheduled tasks can be flexibly configured by the administrator in the system settings, including task interval time and start time.
2) Task records and stock and incremental analysis
a) Task records include: task start time and end time, number of emails analyzed, number of successful and failed domain names, and analysis coverage (time interval).
b) The default analysis start time is 3 years ago. The system automatically covers the historical data of the past three years to achieve the goal of stock email analysis.
c) The system records the time point when each task is completed (such as task completion time T1).
d) The next task starts from the recorded time point T1, and analyzes the newly added historical emails in the time period from T1 to T2 to avoid repeated analysis.
3) Domain name resolution and filtering
a) Extract the sender or recipient’s email address domain name from historical emails.
b) Use the domain name filtering mechanism to exclude common personal email service provider domain names (such as gmail.com, yahoo.com, ymail.com, outlook.com, hotmail.com, live.com, @msn.com, aol.com, icloud.com, me.com, mac.com, etc.), and retain domain names that may belong to enterprises.
c) Store the information associated with the filtered enterprise domain name in the clue pool to form preliminary customer clue data.
4) Web crawler
After extracting the domain name, the system calls the web crawler module to complete the data of the newly added clues. The crawler retrieves the following information from the public platform: company name, address, contact information (such as phone number, official website email), main business, company size and other information.
5.2. Lead Pool and Customer Management
The lead pool and customer management module are the core modules of the CRM system, covering the acquisition of leads to the management and maintenance of formal customers. This module mainly collects leads through email channels; the customer management module is responsible for the refined maintenance of data, optimizing customer relationships and exploring business opportunities. The two work together to provide an efficient and convenient solution for enterprise customer management. The Workflow of Lead Pool and Customer Management is shown in Figure 5.
1) Lead pool management
The lead pool module is designed for the management of potential customer resources. The main functions include the following aspects: lead collection and import. This article mainly collects potential customer information through email channels and supports the addition, update and deletion of lead data. At the same time, the system supports tracking and recording the status of the entire life cycle of the lead to ensure the traceability of status changes. Status setting: supports multiple status definitions (such as “new lead”, “in contact”, “converted”) to describe the current progress of the lead.
2) Customer management
The customer management module is the management and maintenance of formal customer information, including basic customer information records, such as customer name, contact information, company information, position, etc. Support real-time editing of customer information to ensure data consistency and timeliness. Provide the function of recording interactive activities to save all
Figure 5. Workflow of lead pool and customer management.
interactive records of customers from first contact to maintenance (such as emails, phone calls, interviews).
The two modules of lead pool management and customer management are closely linked. The system provides a lead-to-customer function, which can convert high-quality leads into customers manually. At the same time, for those customers who no longer need to be maintained, the system supports returning the leads.
5.3. Correspondence Email Management
The design of the email management function mainly includes two goals:
1) Automatically collect emails and attachments related to customers to ensure that historical emails in the past 3 years can be extracted and archived;
2) The system will automatically subscribe to and communicate with the third-party email service for sending and receiving events, monitor the email exchanges between users and customers in real time, and trigger the corresponding message processing logic. Through this mechanism, the system can archive emails in real time.
5.3.1. Historical Email Collection
The system automatically connects to the email server (such as Gmail, Outlook, etc.) regularly to collect emails related to customers. Automatically match emails related to customers based on information such as the customer’s email address, customer ID, project name or keywords. The system automatically filters emails within the past 2 years to ensure that the emails with customers are collected.
For the collected email information, the system extracts basic information, including: email title, email body content, sender, sender, cc information, sending time, receiving time, attachment name, attachment size and attachment type.
After the information is extracted, the email is archived, and the basic information of the email and attachment (title, content, sending and receiving time, sender, etc.) is stored in the database, and an index is established to ensure efficient information query. The email body and attachments will be stored in cloud storage (such as AWS S3, Google Cloud Storage, etc.) to facilitate subsequent email preview and attachment download.
5.3.2. Real-Time Archiving of Sent and Received Emails
The system will automatically subscribe to and communicate with the third-party email service’s sending and receiving events. When a sending and receiving event occurs, the third-party email service will trigger the callback interface. After receiving the request, the callback service, as the generator of the message, sends the event to the message queue in the form of a message. The email archiving service processes the message as a message consumer, so that the system can monitor the customer’s email sending and receiving activities in real time. When a user sends an email to a customer or receives an email from a customer, the system automatically captures the email, extracts basic information from it, and finally saves it in the database, while establishing an association with the customer. The original email and attachment content are stored in the object storage for future preview and download [15]. The Design of Real-Time Archiving Module for Sending and Receiving Emails is shown in Figure 6.
![]()
Figure 6. Design of real-time archiving module for sending and receiving emails.
6. System Functionality Implementation
6.1. Lead Pool Management
This function is used to manage and maintain lead information. Lead entry and update: Sales personnel or system administrators can manually enter new customer leads or update existing leads. Lead status: Each lead can have multiple statuses so that sales personnel can understand the current status of the lead and take corresponding follow-up measures. Lead to customer function: This function allows sales personnel to convert potential high-value leads into formal customers. The Lead Pool Management Page is shown in Figure 7.
6.2. Customer Management
6.2.1. Customer List
The customer list is one of the core modules of the customer management function, which mainly displays the basic information of all customers, including customer name, contact person, contact information, industry, customer status, etc. The list supports filtering and sorting by multiple conditions (such as customer status, industry classification, and last updated time), which makes it convenient for sales staff to quickly locate target customers. At the same time, the list provides paging display function, which is suitable for managing large-scale customer data. The Customer List Page is shown in Figure 8.
Figure 7. Lead pool management page.
Figure 8. Customer management page.
6.2.2. Customer Dynamics
The customer dynamics module is used to record and display the latest activities and behavior trajectories of customers in real time. Dynamics include communication records between sales staff and customers (such as phone calls, emails, meetings) and customer behaviors (such as visiting the company’s official website, downloading materials, submitting inquiries). This module displays all customer dynamics through a visual timeline, which helps sales staff to understand changes in customer needs in a timely manner and adjust sales strategies, thereby improving communication efficiency and customer satisfaction. The Customer Dynamics Page is shown in Figure 9.
Figure 9. Customer dynamics page.
6.2.3. Email and Attachment Archiving Function
The email and attachment archiving function is designed to ensure that customer emails and related attachments are systematically stored and efficiently managed. The system automatically captures the basic information of customer emails, including email title, sender, recipient, sending time, etc., and stores the email content and attachments in a structured manner. Attachment information (such as file name, file type, size) is also archived for subsequent quick retrieval and preview. This function supports multi-dimensional queries by customer or subject keywords, providing sales staff with a comprehensive customer communication history, avoiding repeated communication, and improving customer management efficiency. The email correspondence page is shown in Figure 10 and the Attachment Archiving page is shown in Figure 11.
6.3. System Performance Evaluation and Testing
This article considers lead and customer management capabilities and email archiving performance as two key considerations. The lead and customer management capability evaluation focuses on the efficiency of the system in processing data, including the response speed of data entry, update and query. Email archiving
Figure 10. Email correspondence page.
Figure 11. Attachment archiving page.
performance is aimed at whether the system can efficiently and accurately complete the email archiving task when processing a large number of emails.
6.3.1. Customer Data Management Capability
When evaluating the system’s “customer data management capability”, we mainly focus on data processing efficiency, accuracy and completeness, consistency, storage and query performance. Through load testing, the system can maintain an efficient response speed when processing a large amount of customer data. In the retrieval operation of 100,000 data, the response time is controlled within 2 seconds, and it can cope with the performance decline trend when the data volume increases. In addition, the system automatically verifies the data format and field integrity during the data import process to ensure data accuracy. Through distributed database synchronization and transaction management, the system can effectively maintain data consistency and avoid data loss or inconsistency in a multi-node environment. When querying and filtering a large amount of customer data, the system can still maintain good query performance, and the response time can be controlled within 5 seconds under high concurrency. Overall, the system demonstrates good efficiency, accuracy, and consistency in customer data management.
6.3.2. Email Archiving Performance Evaluation
Combining scheduled archiving tasks with real-time archiving tasks. After testing, the system can still complete 90% of email archiving within 30 minutes when sending and receiving a large number of emails, and guarantees 100% email archiving through the T + 1 mechanism. These test results show that this CRM system can ensure high processing efficiency and timeliness of email archiving when handling a large number of emails and a growing customer base, thereby effectively supporting customer management needs.
7. Conclusion and Prospects
In this study, a customer relationship management (CRM) system based on email service was designed and implemented. The core goal of this system is to collect, manage and analyze emails between customers through email services, so as to improve the efficiency of customer management. Through this project, the system has realized several main functions: historical email analysis, lead pool management, customer management and email archiving. Through the implementation of these functions, the system provides a more efficient automation tool for customer relationship management, reduces manual intervention and improves work efficiency.
Although this system has achieved certain results in email collection, lead mining and customer management, with the development of technology and the continuous changes in corporate needs, there are many modules in the system that can be further optimized. Future research and improvement can be carried out from the following directions:
Intelligent email mining: Using natural language processing (NLP) technology to analyze email content can improve the accuracy of lead mining.
Multi-channel customer information integration: In addition to emails, customers’ communication channels may include SMS, social media, online customer service, etc. In the future, more channels can be integrated to achieve unified management of customer information.
In summary, the CRM system based on email services has broad application prospects in lead value mining and improving customer management efficiency. With the continuous development of technology, the system will continue to improve, better meet user needs and provide better services for customer relationship management.