Mail sending method and server

By automating the acquisition of user information and filling in email templates, the problem of excessive and inconvenient information to fill in during NPS surveys for smart TVs has been solved, enabling accurate and personalized email sending and improving user experience and email delivery reliability.

CN120881041APending Publication Date: 2025-10-31VIDAA (NETHERLANDS) INT HLDG LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511049250.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-29
Publication Date
2025-10-31

AI Technical Summary

Technical Problem

The email sending system in the NPS survey for smart TVs has problems such as too much information to fill in by users and poor convenience. In particular, users need to choose the questionnaire language and fill in basic information themselves, which leads to low user enthusiasm for completing the questionnaire. In addition, the lack of accurate deduplication and frequency control mechanisms means that the same user may receive the survey email repeatedly.

Method used

By obtaining user identifiers to query user device information and user profile information, email templates are automatically filled in, target users are accurately filtered, and duplicate emails are prevented within a preset time period, reducing manual input by users and enabling personalized email sending.

Benefits of technology

The process was simplified, the user experience was improved, the accuracy and personalization of email content were ensured, users were prevented from receiving duplicate survey emails, and users' willingness to fill out questionnaires and the reliability of email delivery were increased.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120881041A_ABST
    Figure CN120881041A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a mail sending method and a server, and the method comprises the steps: obtaining a to-be-sent mail template and configured user packet data in response to a mail template and user packet configuration completion event; querying user equipment information and user portrait information according to the user identifier; under the condition that a mail is not sent to a user mailbox corresponding to the user identifier within a preset time period, obtaining personal account information of the user according to the user identifier; filling a mail template according to the user equipment information, the user portrait information and the personal account information; and sending a mail to the user mailbox information according to the filled mail template. According to the method, the user identifiers meeting the requirements can be screened out. By filling the mail template, the user information can be extracted and embedded into the survey mail template, and the user information does not need to be manually searched one by one and mails do not need to be written, so that the user experience is improved, and the problems that at present, a user needs to fill more contents in mails of user questionnaires, and the convenience is poor are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of email sending technology, and in particular to an email sending method and server. Background Technology

[0002] Display devices are intelligent devices capable of presenting user interfaces and supporting user interaction. Taking smart TVs as an example, after a smart TV is sold, companies need to continuously obtain genuine feedback from end users in order to improve the product experience in a timely manner. Net Promoter Score (NPS), as an internationally recognized metric for measuring user satisfaction and loyalty, has been widely used in after-sales research scenarios for smart TVs. For example, companies can send NPS questionnaires to users, asking them "how likely they are to recommend this brand of smart TV to friends or colleagues," and statistically analyze the ratings from 0 to 10 to determine whether the user is a recommender, a passive recommender, or a detractor, thereby guiding product iteration and marketing strategies.

[0003] Currently, NPS surveys for smart TVs typically reach users via email. The system pre-defines a batch of user IDs or email addresses based on business rules. Operations personnel manually configure the recipient list, email templates, and sending plans in the backend before sending out emails containing survey links in batches. The survey content can cover multiple dimensions, including overall user satisfaction with smart TVs and the user experience of specific functions. Some questions involve basic smart TV information, such as TV model and purchase date. For the email sending system, operations personnel need to collect specific user IDs or email addresses in advance, import this information into the email sending system, and then configure the email sending task. The system then sends the survey emails to the target users according to preset rules.

[0004] However, the NPS survey application for smart TVs has several problems. Due to language differences among users in different regions, although the questionnaire offers multiple language versions, users need to select the language themselves, increasing the complexity of completing the questionnaire. Questions involving basic smart TV information, such as TV model, may confuse some users who are unfamiliar with the information, further reducing their enthusiasm for completing the questionnaire and resulting in low user willingness to participate. Therefore, the current user survey emails require a lot of information from users and lack convenience. Summary of the Invention

[0005] This application provides an email sending method and server to solve the problem that current user survey questionnaires require users to fill in a lot of information and are not convenient.

[0006] Firstly, some embodiments of this application provide a method for sending emails, including:

[0007] In response to an email template and user package configuration completion event, the system obtains the email template to be sent and the configured user package data; the user package data includes at least one user identifier; the user identifier is unique.

[0008] Based on the user identifier, query user device information and user profile information;

[0009] If no email is sent to the user's email address corresponding to the user identifier within a preset time period, the user's personal account information is obtained based on the user identifier; the personal account information includes at least the user's email address information.

[0010] The email template is populated based on the user device information, user profile information, and personal account information;

[0011] Based on the user's email information, an email is sent to the corresponding user's email address, and the email includes the filled-in email template.

[0012] The above technical solution has the following advantages or beneficial effects: The method can accurately filter out qualified user identifiers based on preset user characteristic conditions (such as age, region, consumption habits, etc.). By filling in email templates, relevant user information can be extracted and embedded into the survey email template, eliminating the need to manually search for user information and compose emails one by one, greatly simplifying the operation process and improving the user experience, thereby solving the problem that current user survey emails require a lot of information from users and have poor convenience.

[0013] In some embodiments, prior to the step of obtaining the email template to be sent and the configured user package data in response to the email template and user package configuration completion event, the method further includes:

[0014] In response to a configuration command for a user package, a configuration page for configuring the user package is launched;

[0015] Read the configuration items entered on the configuration page;

[0016] The user package data is generated based on the configuration items;

[0017] The user package data is stored in the user package system.

[0018] The above technical solution has the following advantages or beneficial effects: it can achieve precise segmentation of user groups, providing an accurate target user list for subsequent personalized email sending. Subsequently, the generated user package data can be stored in the user package system to ensure the persistence and manageability of the user package data, achieving centralized data management and reuse.

[0019] In some embodiments, querying user device information and user profile information based on the user identifier specifically includes:

[0020] Send the email template and the user package data to the activity subsystem;

[0021] The activity subsystem is controlled to store the email template and the user package data;

[0022] The activity subsystem triggers the user package system to execute a query task;

[0023] In response to the query task, the user package system is controlled to request user device information and user profile information from the big data warehouse based on the user identifier; the big data warehouse pre-stores the user device information and the user profile information.

[0024] The above technical solution has the following advantages or beneficial effects: by querying user device information and user profile information, the system can more accurately understand the target user group, provide data support for subsequent personalized email filling, and enhance the targeting and effectiveness of emails.

[0025] In some embodiments, after controlling the user package system to request user device information and user profile information from a big data warehouse based on the user identifier, the method further includes:

[0026] The user package system sends the retrieved user device information and user profile information to the user package message queue.

[0027] The user packet message queue is controlled to send the user device information and the user profile information to the activity subsystem;

[0028] The activity subsystem requests a cache query from the corresponding activity subsystem to check whether there are any sent emails in the user mailbox corresponding to the user identifier within a preset time period.

[0029] If the sent email already exists, do not send an email to the user corresponding to the user identifier;

[0030] If the sent email does not exist, perform the step of sending an email to the corresponding user's email address based on the user's email address information, wherein the email includes the filled-in email template.

[0031] The above technical solution has the following advantages or beneficial effects: If a record exists in Redis, the subsequent process is skipped and no email is sent, thus avoiding users receiving a large number of survey emails in a short period of time; if no record exists, the email sending process continues, and the user ID is stored in Redis with an expiration time set (e.g., a few hours to a day) to achieve short-term anti-duplicate measures.

[0032] In some embodiments, obtaining a user's personal account information based on the user identifier specifically includes:

[0033] The activity subsystem controls the query of the personal account information corresponding to the user identifier from the account subsystem; the account subsystem is used to store the account information associated with the user identifier.

[0034] The personal account information is fed back to the activity subsystem through the account subsystem.

[0035] The above technical solution has the following advantages or beneficial effects: through the interaction process between the activity subsystem and the account subsystem, the dynamic acquisition and sharing of user account information is realized, providing a data foundation for subsequent email template filling.

[0036] In some embodiments, after sending an email to the corresponding user's email address based on the user's email address information, wherein the email includes the filled-in email template, the method further includes:

[0037] The email information to be sent to the user's email address is sent to the big data warehouse via a big data message queue; the email information includes the user identifier, sending timestamp, sending subject, and configuration information corresponding to the configuration item;

[0038] The big data warehouse is updated based on the email information.

[0039] The above technical solution has the following advantages or beneficial effects: it can ensure that the data in the big data warehouse is always up-to-date and accurate, and facilitates centralized storage and management of email-related data.

[0040] In some embodiments, populating the email template based on the user device information, user profile information, and personal account information specifically includes:

[0041] Identify placeholders in the email template;

[0042] Fill the email template with the field values ​​corresponding to the placeholders in the user device information, user profile information, and personal account information.

[0043] The above technical solution has the following advantages or beneficial effects: By filling in email templates, emails can automatically carry basic data such as user device information and user profile information, reducing the tedious information filling process for users. At the same time, the data in the email templates is accessed from verified user data within the system (such as country, device model, operating system, etc.), avoiding errors caused by manual input by users and improving the accuracy of email content.

[0044] In some embodiments, the field values ​​corresponding to the placeholders in the user device information, user profile information, and personal account information are filled into the email template, specifically including:

[0045] Establish a mapping relationship between the placeholders and the fields in the user device information, user profile information, and personal account information;

[0046] Parse the placeholders in the email template to determine the fields to be filled;

[0047] Based on the mapping relationship, extract the field values ​​corresponding to the placeholders from the user device information, user profile information, and personal account information;

[0048] Replace the field to be filled corresponding to the placeholder in the email template with the extracted field value.

[0049] The above technical solution has the following advantages or beneficial effects: The email template filling method of this application avoids manual filling by users, reducing the tedious operation of filling in information, and increases the reliability of survey data analysis by carrying user information. Simultaneously, automated filling, based on pre-established mapping relationships, strictly extracts and fills information according to rules, effectively avoiding human error and ensuring the accuracy and consistency of email content. Furthermore, by integrating multi-dimensional data such as user device information, user profile information, and personal account information, highly personalized email content can be generated for each user. Further, this application can centrally manage the mapping relationship between placeholders and information fields, making the maintenance and updating of email templates more convenient. When fields in the information source change or the email template needs adjustment, only the mapping relationship or placeholders in the template need to be modified, without having to modify each email individually, reducing maintenance costs and management difficulty.

[0050] In some embodiments, an email is sent to the corresponding user's email address based on the user's email information. The email includes the filled-in email template, specifically including:

[0051] Call the email sending service interface to encapsulate the filled email template, the user email information, and the email information into a sending request;

[0052] Send the sending request to the email sending system;

[0053] The system controls the email sending system to send emails to the user's email address according to the sending request.

[0054] The above technical solution has the following advantages or beneficial effects: By encapsulating email templates, user email information, and email messages into a sending request, and having this request processed by the email sending system, errors that may arise from human operation can be reduced. The email sending system has error handling and retry mechanisms, ensuring that emails are accurately delivered to the target mailbox, thus improving the reliability and success rate of email delivery. When encapsulating the sending request, email templates and email messages can be flexibly filled and set according to different user information and business needs, achieving personalized email delivery. For example, targeted marketing emails can be sent based on a user's purchase history, and different system notifications can be sent based on the user's role and permissions, thereby increasing user attention and response rate to emails.

[0055] Secondly, some embodiments of this application provide a server, including a memory and a processor, wherein the memory is used to store program instructions, and the processor is used to perform the following steps by executing the program instructions:

[0056] In response to an email template and user package configuration completion event, the system obtains the email template to be sent and the configured user package data; the user package data includes at least one user identifier; the user identifier is unique.

[0057] Based on the user identifier, query user device information and user profile information;

[0058] If no email is sent to the user's email address corresponding to the user identifier within a preset time period, the user's personal account information is obtained based on the user identifier; the personal account information includes at least the user's email address information.

[0059] The email template is populated based on the user device information, user profile information, and personal account information;

[0060] Based on the user's email information, an email is sent to the corresponding user's email address, and the email includes the filled-in email template.

[0061] The above technical solution has the following advantages or beneficial effects: The server can accurately filter out user identifiers that meet the requirements based on a variety of preset user characteristic conditions (such as age, region, consumption habits, etc.). By filling in email templates, relevant user information can be extracted and embedded into the survey email template, eliminating the need to manually search for user information and compose emails one by one, greatly simplifying the operation process and improving the user experience, thereby solving the problem that current user survey emails require a lot of information from users and have poor convenience.

[0062] As can be seen from the above technical solutions, some embodiments of this application provide an email sending method and server. The method includes: in response to an email template and user package configuration completion event, obtaining an email template to be sent and configured user package data; the user package data includes at least one user identifier; the user identifier is unique; querying user device information and user profile information based on the user identifier; if no email is sent to the user's email address corresponding to the user identifier within a preset time period, obtaining the user's personal account information based on the user identifier; the personal account information includes at least the user's email address information; filling the email template based on the user device information, user profile information, and personal account information; and sending the email to the user's email address based on the filled email template. The method can accurately filter out user identifiers that meet the requirements based on preset user characteristic conditions (such as age, region, consumption habits, etc.). By filling the email template, relevant user information can be extracted and embedded into the survey email template, eliminating the need to manually search for user information and compose emails one by one, greatly simplifying the operation process and improving the user experience, thereby solving the problem that current user survey questionnaires require users to fill in a lot of content and have poor convenience. Attached Figure Description

[0063] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0064] Figure 1 This is a schematic diagram illustrating an operational scenario between a display device and a control device provided in some embodiments of this application;

[0065] Figure 2 This is a schematic diagram of the hardware configuration of a display device provided in some embodiments of this application;

[0066] Figure 3 This is a schematic diagram of the software configuration of a display device provided in some embodiments of this application;

[0067] Figure 4 A flowchart illustrating a server performing an email sending method according to some embodiments of this application;

[0068] Figure 5 A timing diagram illustrating the server performing an email sending method according to some embodiments of this application;

[0069] Figure 6 A schematic diagram illustrating the architecture of a server performing an email sending method according to some embodiments of this application;

[0070] Figure 7 This application provides schematic diagrams illustrating scenarios where a server executes user package configuration data, as shown in some embodiments.

[0071] Figure 8 This is a flowchart illustrating the process of filling the field values ​​corresponding to placeholders in user device information, user profile information and personal account information into an email template, as provided in some embodiments of this application.

[0072] Figure 9 This application provides schematic diagrams illustrating scenarios for email unsubscription functionality as provided in some embodiments.

[0073] Figure 10 This application provides schematic diagrams illustrating scenarios for setting the language of questionnaire surveys in some embodiments.

[0074] Figure 11 The following is a schematic diagram illustrating a scenario where a user selects product usage stages on a survey page, as provided in some embodiments of this application. Detailed Implementation

[0075] The embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described below do not represent all embodiments consistent with this application. They are merely examples of systems and methods consistent with some aspects of this application as detailed in the claims.

[0076] It should be noted that the brief descriptions of terms in this application are only for the convenience of understanding the embodiments described below, and are not intended to limit the embodiments of this application. Unless otherwise stated, these terms should be understood in their ordinary and common meaning.

[0077] The terms "first," "second," "third," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar or related objects or entities, and do not necessarily imply a specific order or sequence, unless otherwise specified. It should be understood that such terms are interchangeable where appropriate.

[0078] The terms “comprising” and “having”, and any variations thereof, are intended to cover but not exclude inclusion, for example, a product or device that includes a range of components is not necessarily limited to all of the components that are clearly listed, but may include other components that are not clearly listed or that are inherent to such product or device.

[0079] The term "module" refers to any known or subsequently developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software code that is capable of performing the functions associated with that element.

[0080] In this embodiment, the display device 200 generally refers to a device with screen display and data processing capabilities. For example, the display device 200 includes, but is not limited to, smart TVs, mobile terminals, computers, monitors, advertising screens, wearable devices, virtual reality devices, augmented reality devices, etc.

[0081] Figure 1 This is a schematic diagram illustrating an operational scenario between a display device and a control device provided in some embodiments of this application. For example... Figure 1 As shown, a user can operate the display device 200 via touch operation, a mobile terminal 300, and a control device 100. The control device 100 receives user input commands and converts them into control commands that the display device 200 can recognize and respond to. For example, the control device 100 can be a remote control, a stylus, a gamepad, etc.

[0082] The mobile terminal 300 can function as a control device for human-computer interaction between the user and the display device 200. It can also function as a communication device for establishing a communication connection with the display device 200 and exchanging data. In some embodiments, the mobile terminal 300 can have software applications installed on it and communicate with the display device 200 via network communication protocols to achieve one-to-one control and data communication. Furthermore, it can transmit audio and video content displayed on the mobile terminal 300 to the display device 200 for synchronized display.

[0083] In some embodiments, the mobile terminal 300 or other electronic devices may also simulate the functions of the control device 100 by running an application that controls the display device 200.

[0084] like Figure 1 The diagram also shows that the display device 200 communicates with the server 400 via various communication methods. This allows the display device 200 to communicate via a local area network (LAN), a wireless local area network (WLAN), and other networks.

[0085] Display device 200 can provide broadcast television reception function, and can also be equipped with intelligent network television function that provides computer support, including but not limited to network television, smart television, Internet Protocol television (IPTV), etc.

[0086] Figure 2 Provided for some embodiments of this application Figure 1 Hardware configuration block diagram of display device 200.

[0087] In some embodiments, the display device 200 may include at least one of a tuner 210, a communication device 220, a detector 230, a device interface 240, a controller 250, a display 260, an audio output device 270, a memory, a power supply, and a user input interface.

[0088] In some embodiments, detector 230 is used to acquire signals from the external environment or to interact with the outside world. For example, detector 230 includes a light receiver, a sensor for acquiring ambient light intensity; or, detector 230 includes an image acquisition device, such as a camera, which can be used to acquire external environmental scenes, user attributes, or user interaction gestures; or, detector 230 includes a sound acquisition device, such as a microphone, for receiving external sounds.

[0089] In some embodiments, the display 260 includes display function components for presenting images and driving components for driving image display. The display 260 is used to receive and display image signals output from the controller 250. For example, the display 260 can be used to display video content, image content, menu control interface components, and user control UI interfaces, etc.

[0090] In some embodiments, the communication device 220 is a component used to communicate with external devices or the server 400 according to various communication protocol types. The display device 200 may have multiple communication devices 220 depending on the supported communication methods. For example, when the display device 200 supports wireless network communication, it may have a communication device 220 with WiFi functionality. When the display device 200 supports Bluetooth connectivity, it needs to have a communication device 220 with Bluetooth functionality.

[0091] The communication device 220 enables the display device 200 to communicate with external devices or the server 400 via wireless or wired connections. Wired connections utilize data cables, interfaces, or other components to connect the display device 200 to external devices. Wireless connections utilize wireless signals or wireless networks. The display device 200 can directly establish a connection with external devices or indirectly through gateways, routers, or other connection devices.

[0092] In some embodiments, the controller 250 may include at least one of a central processing unit, a video processor, an audio processor, a graphics processor, and a power processor, and a first to an nth interface for input / output. The controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in memory. The controller 250 controls the overall operation of the display device 200.

[0093] In some embodiments, the controller 250 and the tuner 210 may be located in different separate devices, that is, the tuner 210 may also be located in an external device of the main device where the controller 250 is located, such as an external set-top box.

[0094] In some embodiments, a user can input user commands through a graphical user interface (GUI) displayed on a display 260, and the user input interface receives user input commands through the graphical user interface (GUI).

[0095] In some embodiments, the audio output device 270 can be a built-in speaker of the display device 200 or an external audio output device connected to the display device 200. For the external audio output device connected to the display device 200, the display device 200 may also be provided with an external audio output terminal, through which the audio output device can be connected to the display device 200 to output sound from the display device 200.

[0096] In some embodiments, the user input interface 280 can be used to receive instructions from user input.

[0097] To enable user interaction, in some embodiments, the display device 200 may run an operating system. The operating system is a computer program used to manage and control the hardware and software resources of the display device 200. The operating system can control the display device to provide a user interface; for example, the operating system can directly control the display device to provide a user interface, or it can provide a user interface by running an application. The operating system also allows users to interact with the display device 200.

[0098] It should be noted that the operating system can be a native operating system based on a specific operating platform, a third-party operating system that is deeply customized based on a specific operating platform, or an independent operating system specifically developed for display devices.

[0099] An operating system can be divided into different modules or levels based on the functions it implements, for example... Figure 3 As shown, in some embodiments, the system is divided into four layers, from top to bottom: the Applications layer (referred to as the "application layer"), the middleware layer, and the hardware layer.

[0100] In some embodiments, the application layer provides services and interfaces for applications, enabling the display device 200 to run applications and interact with the user based on the applications. The application layer may contain at least one application, which may be a built-in Windows program, system settings program, or clock program of the operating system; or it may be an application developed by a third-party developer. In specific implementations, the application packages in the application layer are not limited to the examples above.

[0101] The framework layer provides application programming interfaces (APIs) and a programming framework for applications. The application framework layer includes predefined functions. It acts as a central processing unit, determining the actions taken by applications within the application layer. Through the API, applications can access system resources and obtain system services during execution.

[0102] like Figure 3 As shown, Figure 3 Provided for some embodiments of this application Figure 1 The diagram shows the software configuration of the display device. In some embodiments, the system of the display device 200 can be divided into three layers, from top to bottom: the application layer, the middleware layer, and the hardware layer.

[0103] The application layer mainly includes commonly used applications on TVs, as well as the application framework. The commonly used applications are mainly browser-based applications, such as HTML5 apps, and native apps.

[0104] An application framework is a complete program model that has all the basic functions required by standard application software, such as file access, data exchange, and the user interface for these functions (toolbar, status bar, menu, dialog box).

[0105] Native apps can support online or offline access, push notifications, or access to local resources.

[0106] The middleware layer includes various television protocols, multimedia protocols, and system components. Middleware can use the basic services (functions) provided by system software to connect different parts of application systems or different applications on the network, achieving resource sharing and function sharing.

[0107] The hardware layer mainly includes the Hardware Abstraction Layer (HAL) interface, hardware, and drivers. The HAL interface serves as a unified interface for all TV chips, with the specific logic implemented by each individual chip. Drivers primarily include: audio drivers, display drivers, Bluetooth drivers, camera drivers, Wi-Fi drivers, USB drivers, HDMI drivers, sensor drivers (such as fingerprint sensors, temperature sensors, and pressure sensors), and power drivers.

[0108] It should be noted that the above examples are merely a simple division of operating system functions and do not limit the specific form of the operating system of the display device 200 in this application embodiment. Depending on the function of the display device, the type of operating system, and other factors, the number of levels and the specific level type of the operating system may be expressed in other forms.

[0109] Display device 200 is an intelligent device capable of presenting a user interface and supporting user interaction. Taking a smart TV as an example, a smart TV is a television product based on Internet application technology, possessing an open operating system and chip, an open application platform, and enabling two-way human-computer interaction. It integrates multiple functions such as audio-visual entertainment and data to meet diverse and personalized user needs. Display device 200 can present different media asset recommendation interfaces, which may include multiple media asset options for users to select and play.

[0110] After a smart TV is sold, manufacturers need to continuously obtain genuine feedback from end-users to improve the product experience in a timely manner. Net Promoter Score (NPS), an internationally recognized metric for measuring user satisfaction and loyalty, is widely used in after-sales research for smart TVs. For example, companies send NPS questionnaires to users, asking how likely they are to recommend the brand's smart TV to friends or colleagues, and statistically analyze the ratings from 0 to 10 to determine whether users are recommenders, passive recommenders, or detractors, thus guiding product iteration and marketing strategies.

[0111] In some embodiments, NPS surveys for smart TVs in the current market typically reach users via email. The system pre-selects a batch of user IDs or email addresses based on business rules. Operations personnel then manually configure the recipient list, email template, and sending plan in the backend before sending out emails containing survey links in batches. Regarding the survey questionnaire design, considering the wide geographical reach of users, the questionnaire offers multiple language versions for users to choose from. Users need to select the appropriate language based on their own language proficiency to complete the questionnaire.

[0112] In some embodiments, the questionnaire may cover multiple dimensions, such as user satisfaction with the overall smart TV and the user experience of specific functions. Some questions involve basic information about the smart TV, such as the TV model and purchase date. Regarding the email sending system, operators need to collect specific user IDs or email addresses in advance, import this information into the email sending system, and then configure email sending tasks. The system then sends survey emails to target users according to preset rules. Meanwhile, the NPS survey email sending function is characterized by low-frequency use (usually sent monthly) but a large number of emails sent in a single session. The system generates a large amount of intermediate data during operation, which is stored in a database.

[0113] However, the NPS survey application for smart TVs has several problems. Due to language differences among users in different regions, although the questionnaire offers multiple language versions, users need to select the language themselves, increasing the complexity of completing the questionnaire. Questions involving basic smart TV information (such as TV model) may confuse some users who are unfamiliar with the information, further reducing their willingness to complete the questionnaire. Moreover, the email sending system lacks accurate deduplication and frequency control mechanisms; the same user may be included in the sending list multiple times, resulting in duplicate survey emails and impacting user experience. In summary, current user survey emails require a lot of information from users and lack convenience.

[0114] Based on the above scenario, some embodiments of this application provide an email sending method. To facilitate understanding of the technical solutions in some embodiments of this application, the steps are described in detail below with reference to some specific embodiments and accompanying drawings. Figure 4 This application provides flowcharts illustrating the server's email sending method in some embodiments, such as... Figure 4 As shown, in some embodiments, when the server 400 executes the email sending method, it may include the following steps:

[0115] Step S1: In response to the email template and user package configuration completion event, obtain the email template to be sent and the configured user package data; the user package data includes at least one user identifier; the user identifier is unique.

[0116] Figure 5 This is a timing diagram illustrating the server executing an email sending method according to some embodiments of this application. Figure 6 This is a schematic diagram illustrating the overall architecture of a server executing an email sending method according to some embodiments of this application, combined with... Figure 5 and Figure 6In some embodiments, to implement email sending functionality, server 400 may include a user package system, a user package message queue (Kafka), an activity subsystem, an activity subsystem cache (Redis), a big data message queue (Kafka), a big data warehouse (Hive), an account subsystem, and an email service system. The user package system is used to store, for example,... Figure 7 The user package configuration data shown includes storage conditions, such as which users to send data to (e.g., country, gender, etc.). The user package message queue Kafka is used to store user device information and user profile information queried during email sending. For example, before sending an email, the email template and user package are configured. Then, the user package system executes the send command, which queries the big data warehouse Hive for user device information (e.g., device name, device identifier, etc.) and user profile information (e.g., user gender, user age, etc.). The retrieved user device information and user profile information are then written to the user package message queue Kafka. The activity subsystem can retrieve data from the user package message queue Kafka and, based on the user device information and user profile information, retrieve emails from the email service system to send them and query email sending status. The activity subsystem uses Redis to cache email sending records and report email sending status. The big data message queue Kafka can be used to store reported data from various system / service modules and perform data collection functions. The big data warehouse Hive serves as a data warehouse for storing user device information and user profile information. The account subsystem stores basic account information, such as user personal information, including private details like FirstName, SecondName, phone number, and email address. The email service system enables email sending after preparation is complete. The data flow between these modules / systems will be explained in detail later.

[0117] In some embodiments, before obtaining the email template to be sent and the configured user package data in response to the email template and user package configuration completion event, server 400 may perform the following process: In response to the configuration instruction for the user package, launch the configuration page for configuring the user package; read the configuration items entered on the configuration page, generate user package data according to the configuration items, and store the user package data in the user package system.

[0118] For example, in combination Figure 7In response to configuration commands for user packages, the configuration process can be executed through the operational interface, such as the OP page. On the configuration page, various configuration items can be entered according to actual needs. This includes setting user filtering criteria (such as geographic location, user behavior tags, etc.) and user package identifiers. These filtering criteria include, but are not limited to, geographic location, user behavior, device parameters, etc., and user package identifiers. After reading these configuration items configured by the operations personnel, the system generates user package data that meets specific conditions. This allows for precise segmentation of user groups, providing an accurate target user list for subsequent personalized email sending. The generated user package data can then be stored in the user package system to ensure data persistence and manageability, enabling centralized data management and reuse.

[0119] In some embodiments, when performing an email sending operation, an NPS email template to be sent can be selected or created on another configuration page, such as configuring the email template in the activity subsystem. The email template may include the email body, fields to be filled, etc. After the email template is configured, the users to whom the email should be sent can be configured. User packages can be configured through the user package system. During the configuration process, it is possible to specify which countries, users, or participants in a particular activity should be sent the email. The user package configuration process must include at least the user ID. The order of configuring the email template and user package is not limited. After the email template is configured, the email template information can be saved in the activity subsystem for further processing. By pre-configuring user packages and email templates, the flexibility and targeting of email sending can be achieved. At the same time, the uniqueness of user identifiers ensures accurate matching of user information in subsequent steps, avoiding information confusion and duplicate sending. After step S1 is completed, step S2 can be executed.

[0120] Step S2: Query user device information and user profile information based on user identifier.

[0121] In some embodiments, when the server 400 queries user device information and user profile information based on the user identifier, it can be implemented in the following way: Sending email templates and user package data to the activity subsystem, controlling the activity subsystem to store the email templates and user package data; triggering the user package system to execute a query task by the activity subsystem; responding to the query task, controlling the user package system to request user device information and user profile information from the big data warehouse based on the user identifier, wherein the big data warehouse pre-stores user device information and user profile information.

[0122] For example, in combination Figure 5When operations and maintenance personnel confirm the information is correct and trigger the email sending task, the activity subsystem can access the user package system interface carrying the user package identifier. The user package system generates a scheduled task based on the user package identifier. The background scheduled task driver queries the Hive big data warehouse to retrieve user device information (such as terminal version number, device model, etc.) and user profile information (such as user activity tags, points ranking, etc.) corresponding to the user identifier. For example, after the user package and email template are configured, the email body and the target users are already included. Then, in response to the user clicking "send," the activity subsystem can trigger the user package system to execute a query task. For example, the user package system will request the Hive big data warehouse to retrieve the user ID and basic user information. The basic user information includes user device information and user profile information pre-stored in the Hive big data warehouse. After the query is completed, the Hive big data warehouse returns the query results to the user package system. In this way, by querying user device information and user profile information, the system can more accurately understand the target user group, providing data support for subsequent personalized email population and enhancing the targeting and effectiveness of emails.

[0123] In some embodiments, after the user package system requests user device information and user profile information from the big data warehouse based on the user identifier, the following process can also be executed: The user package system sends the retrieved user device information and user profile information to the user package message queue, and the user package message queue sends the user device information and user profile information to the activity subsystem; the activity subsystem requests the cache corresponding to the activity subsystem to query whether there are any sent emails in the user mailbox corresponding to the user identifier within a preset time period; if there are sent emails, no email is sent to the user corresponding to the user identifier; if there are no sent emails, the step of sending emails to the user mailbox information according to the populated email template is executed.

[0124] For example, the user package system can send the retrieved data, such as user ID, user device information, and user profile information, to the user package message queue Kafka. After obtaining the user ID and basic user information (including user device information and user profile information), the user package message queue Kafka can send the user ID, user device information, and user profile information to the activity subsystem. After retrieving user information from the message queue, the activity subsystem checks whether the target user has received survey emails within a preset time period through a cache (Redis) to prevent duplicate sending. For example, taking the user identifier (CustomerID) as an example, it checks whether there is a recent sending record in Redis. If a record exists, the subsequent process is skipped, and no email is sent to avoid the user receiving a large number of survey emails in a short period of time; if no record exists, the email sending process continues, and the user ID is stored in Redis with an expiration time set (e.g., a few hours to a day) to achieve short-term anti-duplicate measures.

[0125] In some embodiments, server 400 may be equipped with a big data platform, which can be a comprehensive technical framework integrating data storage, processing, analysis, and application. Its core function is to centrally manage all data related to email surveys. The big data platform can receive and persist email sending logs (including fields such as customerid, eventtime, and emailtopic) to form a complete sending history, and update relevant data in the big data warehouse Hive based on the history. In this way, Redis is responsible for short-term (e.g., a few hours to a day) anti-duplicate measures, achieving millisecond-level response through memory queries and intercepting high-frequency duplicate requests. The big data platform is responsible for long-term (spanning weeks and months) anti-duplicate measures, supporting complex operational scenarios (e.g., targeted resending, periodic surveys) through conditional filtering. The expiration mechanism of Redis and the persistent records of the big data platform complement each other, ensuring full-cycle coverage of the anti-duplicate strategy, achieving both short-term and long-term anti-duplicate sending, and avoiding user harassment.

[0126] It should be noted that the user device information and user profile information obtained by the user package system through the user ID query do not include email content. In other words, the data put into the user package message queue Kafka does not involve email content; the user package only contains user-related information, not email-related information. Email information is only available in the activity subsystem. Having obtained the user device information, user profile information, and user personal information including the user's email address, the activity subsystem can be used to populate the email body. After population, the complete email content and user email address will be obtained. Clicking send will then send the populated email content to the selected user. After step S2 is completed, step S3 can be executed.

[0127] Step S3: If no email is sent to the user's email address corresponding to the user identifier within the preset time period, obtain the user's personal account information based on the user identifier; the personal account information includes at least the user's email address.

[0128] In some embodiments, after the activity subsystem obtains basic user data from a message queue (such as the user package message queue Kafka), it first checks whether the Redis cache records information about recently sent emails for that user identifier. If not, it queries and retrieves the user's personal account information, including but not limited to the user's email information, through the account subsystem based on the user identifier. This introduces a mechanism to prevent duplicate email sending, ensuring that emails are not repeatedly sent to the same user within a preset time period, avoiding the situation where users receive a large number of survey emails in a short period, and improving user experience and the acceptance of email surveys.

[0129] In some embodiments, when the server 400 obtains a user's personal account information based on a user identifier, it can do so in the following way: The control activity subsystem requests the account subsystem to query the personal account information corresponding to the user identifier based on the user identifier. The account subsystem stores the account information associated with the user identifier and feeds back the personal account information to the activity subsystem through the account subsystem.

[0130] For example, continue to combine Figure 5 The activity subsystem can initiate a query request for personal account information to the account subsystem using a user identifier (such as customerid). The account subsystem retrieves associated account information (such as personal profile, spending history, preference tags, etc.) based on the user identifier and returns the results to the activity subsystem. This interaction between the activity subsystem and the account subsystem enables the dynamic acquisition and sharing of user account information, providing a data foundation for subsequent email template population. After step S3 is completed, step S4 can be executed.

[0131] Step S4: Fill in the email template based on user device information, user profile information, and personal account information.

[0132] In some embodiments, the email template may include specific placeholders for subsequent automatic filling of user information. After obtaining user device information, user profile information, and personal account information, the server 400 can fill the email template according to the user device information, user profile information, and personal account information.

[0133] When filling in the email template, the server 400 first identifies the placeholders in the email template, and then fills the email template with the field values ​​corresponding to the placeholders from the user device information, user profile information, and personal account information.

[0134] For example, the server can automatically identify placeholders (such as ${name}, ${brand}}, etc.) in the email template and fill them in with the user's known device information, user profile tags, and account data, eliminating the need for the user to manually enter this information. In this way, by automatically filling in the email template, the email can carry basic data such as user device information and user profile information, reducing the tedious information entry process for the user. At the same time, the data in the email template is accessed from verified user data within the system (such as country, device model, operating system, etc.), avoiding errors caused by manual input and improving the accuracy of the email content.

[0135] Figure 8 This application provides schematic diagrams illustrating the process of filling the field values ​​corresponding to placeholders in user device information, user profile information, and personal account information into an email template, as shown in some embodiments. Figure 8 As shown, in some embodiments, when filling the email template with the field values ​​corresponding to the placeholders from user device information, user profile information, and personal account information, it can be achieved in the following way: First, establish a mapping relationship between the placeholders and the fields in the user device information, user profile information, and personal account information. Then, parse the placeholders in the email template to determine the fields to be filled. Next, based on the mapping relationship, extract the field values ​​corresponding to the placeholders from the user device information, user profile information, and personal account information. Finally, replace the fields to be filled corresponding to the placeholders in the email template with the extracted field values.

[0136] For example, a mapping relationship is pre-established between placeholders and various fields in user device information, user profile information, and personal account information. Placeholders are special markers reserved in the email template for later filling in specific information; user device information may include device type, operating system, etc.; user profile information can cover user interests, preferences, behavioral habits, etc.; personal account information may include username, email address, other account information, etc. By establishing a mapping relationship, it can be determined from which information sources each placeholder should obtain its corresponding value. Then, the placeholders in the email template are identified and analyzed to determine the fields to be filled, thus more accurately identifying where specific information needs to be filled in the email template and what kind of information needs to be filled. Based on the previously established mapping relationship, the field values ​​corresponding to the placeholders in the email template are searched and extracted from the three information sources: user device information, user profile information, and personal account information. For example, if a placeholder in the email template corresponds to a user's name, then the specific value of the user's name is extracted from the personal account information. Finally, the extracted field values ​​are accurately replaced with the corresponding placeholder fields in the email template, thus completing the automated filling of the email template and generating personalized email content. Compared to traditional methods, which require manually searching and entering user information one by one, a tedious and time-consuming process, this application's email template filling method avoids manual input, reducing the tedious process of filling in information and increasing the reliability of research data analysis by carrying user information. Furthermore, manual operation is prone to input errors and omissions, leading to inaccurate or incomplete email content. Automated filling, based on pre-established mapping relationships, strictly follows rules to extract and fill information, effectively avoiding human error and ensuring the accuracy and consistency of email content. In addition, by integrating multi-dimensional data such as user device information, user profile information, and personal account information, highly personalized email content can be generated for each user. For example, relevant products can be recommended based on user interests and preferences, and email display can be optimized based on user device type, thereby increasing user attention and engagement and improving user experience. Furthermore, this application allows for centralized management of the mapping relationship between placeholders and information fields, making the maintenance and updating of email templates more convenient. When fields in the information source change or the email template needs adjustment, only the mapping relationship or placeholders in the template need to be modified, without having to modify each email individually, thus reducing maintenance costs and management difficulty. After step S4 is completed, step S5 can be executed as follows.

[0137] Step S5: Send an email to the user's email address based on the filled-in email template.

[0138] In some embodiments, the activity subsystem can send the populated email template to the user's mailbox via the email sending service. The server 400 can send the email to the user's mailbox information in the following way: first, it calls the email sending service interface to encapsulate the populated email template, the user's mailbox information, and the email information into a sending request; then, it sends the sending request to the email sending system; and finally, it controls the email sending system to send the email to the user's mailbox information according to the sending request.

[0139] For example, after filling in the email template, the pre-filled email template, the target user's email address, and other email-related information (such as email subject, sender information, email priority, etc., collectively referred to as email information) are integrated and packaged into a sending request according to the format and requirements specified by the email sending service interface. The packaged sending request is then sent to the email sending system via network transmission. Upon receiving the sending request, the email sending system can parse and process the information in the request. For example, it can extract the target user's email address, the filled email content, and other relevant email information from the sending request. Then, based on this information, it interacts with the mail server to accurately send the email to the target user's mailbox. By packaging the email template, user email address, and email information into a sending request and having it processed by the email sending system, errors that might occur due to human intervention can be reduced. The email sending system has error handling and retry mechanisms, ensuring that emails are sent accurately to the target mailbox, improving the reliability and success rate of email delivery. When packaging the sending request, the email template and email information can be flexibly filled in and set according to different user information and business needs, achieving personalized email sending. For example, targeted marketing emails can be sent based on a user's purchase history, and different system notifications can be sent based on the user's role and permissions, thereby increasing user attention and response rate to emails.

[0140] In some embodiments, continue to combine Figure 5 After sending an email to the user's mailbox based on the populated email template, the email information sent to the user's mailbox is sent to the big data warehouse through a big data message queue. The email information includes the user identifier, sending timestamp, sending subject, and configuration information corresponding to the configuration items. Then, the server 400 can update the big data warehouse based on the email information.

[0141] For example, email information contains several key elements. The user identifier uniquely identifies the recipient of the email; this could be a user ID. The sending timestamp records the specific time the email was sent, aiding in time-series analysis and monitoring the timeliness of email delivery. The subject line concisely summarizes the core content of the email, facilitating email categorization and retrieval. Configuration items cover various settings related to email delivery, such as email template selection, sending frequency limits, and priority settings. After receiving the email information, Server 400 updates the data in the big data warehouse based on this information. This includes inserting new email records, updating existing user email sending history, and adjusting relevant statistical indicators according to the configuration information. This ensures that the data in the big data warehouse remains up-to-date and accurate, facilitating centralized storage and management of email-related data.

[0142] The format for the reported content included in the email message can be as follows:

[0143]

[0144] It should be noted that, in this embodiment, by pre-configuring user package data, user identifiers such as customerid can be accurately filtered based on various preset user characteristic conditions (such as age, region, consumption habits, etc.). By filling in email templates, relevant user information can be extracted and embedded into the survey email template, eliminating the need to manually search for user information and compose emails one by one, greatly simplifying the operation process and improving the user experience. This addresses the problem of current user survey emails requiring a large amount of information from users and lacking convenience. In the email sending scenario, tasks such as user filtering, email generation, and email sending are placed in a queue as messages. The message queue has the characteristics of asynchronous processing, decoupling, and peak shaving. Each processing link (such as the filtering module, email generation module, and sending module) acts as a consumer, retrieving messages from the queue for processing. This approach avoids the tight coupling between modules under traditional data storage methods, enabling the system to more flexibly respond to the processing needs of different tasks. At the same time, the message queue can buffer task requests, preventing a large influx of requests in a short period of time from causing system crashes, ensuring system stability and efficiency, and realizing efficient task flow and processing in the form of data streams. Simultaneously, before sending an email, the system checks if the user's customerid already exists in Redis. If it exists, it means the user has already sent the questionnaire, and it won't be sent again; if it doesn't exist, the customerid is recorded in Redis and simultaneously reported to storage. This mechanism leverages Redis's fast query capabilities to quickly determine whether a user has already sent a questionnaire at the memory level, effectively avoiding duplicate sending and improving the accuracy and efficiency of email delivery. Through short-term and long-term email sending duplication prevention mechanisms, duplicate questionnaires are avoided.

[0145] Figure 9 This is a schematic diagram illustrating a scenario for the email sending unsubscribe function provided in some embodiments of this application, such as... Figure 9 As shown, in some embodiments, an unsubscribe function can also be implemented during email sending. A specific placeholder `{{amazonSESUnsubscribeUrl}}` can be added at any location in the email template. This placeholder can be a reserved "location marker." When the email is actually sent, the system automatically replaces this placeholder with an actual unsubscribe link. For example, the original template might contain content like: "Dear customer, thank you for your interest in our services. If you no longer wish to receive these emails, [this is a placeholder location]." When the email is sent, the system will replace `{{amazonSESUnsubscribeUrl}}` with an actual unsubscribe link address like "https: / / example.com / unsubscribe?id=12345," which the user can click to unsubscribe.

[0146] In some embodiments, if you do not want the unsubscribe function to be presented as a plain text link but rather as a button, you can insert a link element in the email template (in HTML email templates, this is usually done via...). The `<link>` tag enables link functionality and can be styled as a button using CSS. (Set the address of this link (i.e....)) When setting the href attribute value of the `<amazon>` tag, use the placeholder `{{amazonSESUnsubscribeUrl}}`. This way, when sending the email, the system will replace the placeholder with the actual unsubscribe link, and the user clicking the button will trigger the unsubscribe action.

[0147] Figure 10 This is a schematic diagram illustrating a scenario for setting the language of a questionnaire survey, as provided in some embodiments of this application. Figure 10 As shown, in some embodiments, when a user sees a survey-related email in their inbox, the email typically contains a link to the survey page. This link is not a simple URL, but a URL with specific parameters. When the user clicks this link in the email to access the survey page, the program in the survey page's backend immediately begins parsing the URL parameters. For example, it focuses on the country code parameter `contrycode`. When the page parses `contrycode = ESP`, ESP is the country code for Spain. The system has a preset mapping, clearly knowing that ESP corresponds to Spanish. Therefore, the page program automatically triggers a setting operation, setting the questionnaire's `language` attribute to the language corresponding to ESP, which is Spanish. In this way, the questionnaire presented to the user will be in Spanish, including questions, options, and various prompts, eliminating the need to manually find language switching options or face an unfamiliar language interface, improving user convenience and participation.

[0148] Figure 11 The following are schematic diagrams of scenarios where users select product usage stages on a survey page, as provided in some embodiments of this application. Figure 11As shown, in some embodiments, during the operation of the survey system, users access the survey page through a specific link. The URL corresponding to this link contains a series of parameters, such as the system version number osstage. When the survey page starts, its built-in program parses the parameters in the URL. Once the parsing finds that the value of osstage is U06, the system further checks the questionnaire content. If a preset option corresponding to U06 exists in the questionnaire, the page program will automatically select the corresponding option for the user on that relevant question, without requiring the user to manually select it. For example, assuming osstage = U06 represents that the user is in a specific product usage stage, and one of the questions in the questionnaire is "Which of the following product usage stages are you currently in?", and the preset options include a stage description corresponding to U06, then the page will automatically select the option corresponding to that description.

[0149] Similarly, when a user enters the survey page, the URL may contain a "brand" parameter, where "brand" represents specific brand information. Even if the questionnaire itself doesn't contain questions directly asking about this brand or perform any specific actions related to it, the survey system's program, upon reading this "brand" parameter, will associate it as additional information with the user's completed questionnaire results and store it in the system's database. Later, during operational analysis, analysts can extract this questionnaire data containing brand information to uncover valuable insights. In this way, the autofill function eliminates the need for users to manually select answers for questions with known information, saving time and effort. Compared to manual selection, it reduces errors caused by negligence, misoperation, or inaccurate understanding of the options, ensuring the accuracy of the questionnaire data.

[0150] As can be seen from the above technical solutions, the above embodiments provide an email sending method, which includes: in response to an email template and user package configuration completion event, obtaining the email template to be sent and the configured user package data; the user package data includes at least one user identifier; the user identifier is unique; querying user device information and user profile information based on the user identifier; if no email is sent to the user's email address corresponding to the user identifier within a preset time period, obtaining the user's personal account information based on the user identifier; the personal account information includes at least the user's email address information; filling the email template based on the user device information, user profile information, and personal account information; and sending the email to the user's email address information based on the filled email template. The method can accurately filter out user identifiers that meet the requirements based on preset user characteristic conditions (such as age, region, consumption habits, etc.). By filling the email template, relevant user information can be extracted and embedded into the survey email template, eliminating the need to manually search for user information and compose emails one by one, greatly simplifying the operation process and improving the user experience, thereby solving the problem that current user survey questionnaires require users to fill in a lot of content and have poor convenience.

[0151] Based on the above email sending method, some embodiments of this application also provide a server 400, which includes a memory and a processor. The memory is used to store program instructions, and the processor is used to execute the program instructions to perform the following steps:

[0152] In response to an email template and user package configuration completion event, the system obtains the email template to be sent and the configured user package data; the user package data includes at least one user identifier; the user identifier is unique.

[0153] Based on the user identifier, query user device information and user profile information;

[0154] If no email is sent to the user's email address corresponding to the user identifier within a preset time period, the user's personal account information is obtained based on the user identifier; the personal account information includes at least the user's email address information.

[0155] The email template is populated based on the user device information, user profile information, and personal account information;

[0156] Based on the user's email information, an email is sent to the corresponding user's email address, and the email includes the filled-in email template.

[0157] The server 400 can accurately filter out qualified user identifiers based on various preset user characteristic conditions (such as age, region, consumption habits, etc.). By filling in email templates, relevant user information can be extracted and embedded into the survey email template, eliminating the need to manually search for user information and compose emails one by one, greatly simplifying the operation process and improving the user experience. This solves the problem that current user survey emails require a lot of information from users and are not very convenient.

[0158] The same or similar parts among the various embodiments in this specification can be referred to mutually, and will not be repeated here.

[0159] Those skilled in the art will clearly understand that the techniques in the embodiments of the present invention can be implemented using software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solutions in the embodiments of the present invention, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods of various embodiments or certain parts of the embodiments of the present invention.

[0160] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

[0161] For ease of explanation, the above description has been provided in conjunction with specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or to limit the embodiments to the specific forms disclosed above. Various modifications and variations can be obtained based on the above teachings. The selection and description of the above embodiments are for the purpose of better explaining the principles and practical applications, thereby enabling those skilled in the art to better utilize the described embodiments and various different variations of embodiments suitable for specific use considerations.

Claims

1. A method for sending emails, applied to a server, characterized in that, include: In response to the email template and user package configuration completion event, retrieve the email template to be sent and the configured user package data; The user package data includes at least one user identifier; The user identifier is unique; Based on the user identifier, query user device information and user profile information; If no email is sent to the user's email address corresponding to the user identifier within a preset time period, the user's personal account information is obtained based on the user identifier. The personal account information includes at least the user's email address; The email template is populated based on the user device information, user profile information, and personal account information; Based on the user's email information, an email is sent to the corresponding user's email address, and the email includes the filled-in email template.

2. The email sending method according to claim 1, characterized in that, Before the step of obtaining the email template to be sent and the configured user package data in response to the email template and user package configuration completion event, the method further includes: In response to a configuration command for a user package, a configuration page for configuring the user package is launched; Read the configuration items entered on the configuration page; The user package data is generated based on the configuration items; The user package data is stored in the user package system.

3. The email sending method according to claim 2, characterized in that, Querying user device information and user profile information based on the user identifier specifically includes: Send the email template and the user package data to the activity subsystem; The activity subsystem is controlled to store the email template and the user package data; The activity subsystem triggers the user package system to execute a query task; In response to the query task, the user package system is controlled to request user device information and user profile information from the big data warehouse based on the user identifier; the big data warehouse pre-stores the user device information and the user profile information.

4. The email sending method according to claim 3, characterized in that, After controlling the user package system to request user device information and user profile information from the big data warehouse based on the user identifier, the method further includes: The user package system sends the retrieved user device information and user profile information to the user package message queue. The user packet message queue is controlled to send the user device information and the user profile information to the activity subsystem; The activity subsystem requests a cache query from the corresponding activity subsystem to check whether there are any sent emails in the user mailbox corresponding to the user identifier within a preset time period. If the sent email already exists, do not send an email to the user corresponding to the user identifier; If the sent email does not exist, perform the step of sending an email to the corresponding user's email address based on the user's email address information, wherein the email includes the filled-in email template.

5. The email sending method according to claim 3, characterized in that, Obtaining the user's personal account information based on the user identifier specifically includes: The activity subsystem controls the query of the personal account information corresponding to the user identifier from the account subsystem; the account subsystem is used to store the account information associated with the user identifier. The personal account information is fed back to the activity subsystem through the account subsystem.

6. The email sending method according to claim 4, characterized in that, After sending an email to the corresponding user's email address based on the user's email information, wherein the email includes the filled-in email template, the method further includes: The email information to be sent to the user's email address is sent to the big data warehouse via a big data message queue; the email information includes the user identifier, sending timestamp, sending subject, and configuration information corresponding to the configuration item; The big data warehouse is updated based on the email information.

7. The email sending method according to claim 1, characterized in that, The email template is populated based on the user device information, user profile information, and personal account information, specifically including: Identify placeholders in the email template; Fill the email template with the field values ​​corresponding to the placeholders in the user device information, user profile information, and personal account information.

8. The email sending method according to claim 7, characterized in that, The email template is populated with the field values ​​corresponding to the placeholders from the user device information, user profile information, and personal account information. Specifically, this includes: Establish a mapping relationship between the placeholders and the fields in the user device information, user profile information, and personal account information; Parse the placeholders in the email template to determine the fields to be filled; Based on the mapping relationship, extract the field values ​​corresponding to the placeholders from the user device information, user profile information, and personal account information; Replace the field to be filled corresponding to the placeholder in the email template with the extracted field value.

9. The email sending method according to claim 6, characterized in that, Based on the user's email information, an email is sent to the corresponding user's email address. The email includes the filled-in email template, specifically including: Call the email sending service interface to encapsulate the filled email template, the user email information, and the email information into a sending request; Send the sending request to the email sending system; The system controls the email sending system to send emails to the user's email address according to the sending request.

10. A server, characterized in that, Includes a memory and a processor, the memory for storing program instructions, and the processor for executing the program instructions to perform the following steps: In response to an email template and user package configuration completion event, the system obtains the email template to be sent and the configured user package data; the user package data includes at least one user identifier. The user identifier is unique; Based on the user identifier, query user device information and user profile information; If no email is sent to the user's email address corresponding to the user identifier within a preset time period, the user's personal account information is obtained based on the user identifier. The personal account information includes at least the user's email address; The email template is populated based on the user device information, user profile information, and personal account information; Based on the user's email information, an email is sent to the corresponding user's email address, and the email includes the filled-in email template.