如何以编程方式检测营销和基于角色的电子邮件?

Posted

技术标签:

【中文标题】如何以编程方式检测营销和基于角色的电子邮件?【英文标题】:how to Detect Marketing and Role based emails programmatically? 【发布时间】:2021-05-30 21:07:10 【问题描述】:

我有一些要求,我必须区分电子邮件是普通电子邮件、营销电子邮件还是基于角色的电子邮件。

营销电子邮件:与营销活动相对应的电子邮件。通常发送给一批用户并使用诸如 MailChimp 等...

基于角色的电子邮件:电子邮件地址与特定人员无关,而是与公司、部门、职位或 收件人组(例如:noreply@、marketing@、support@ 等)。

我可以通过电子邮件标题信息来识别它吗?或者还有其他方法可以实现吗?

使用的技术:

Gmail API:获取电子邮件信息 Spring Boot:处理电子邮件

【问题讨论】:

【参考方案1】:

通过使用 Gmail API,您可以使用以下请求检索电子邮件:

GET https://gmail.googleapis.com/gmail/v1/users/userId/messages/id

最终将返回具有以下类似结构的Message 的主体:


    "id": ID,
    "threadId": THREAD_ID,
    "labelIds": [
        "CATEGORY_PROMOTIONS",
        "UNREAD",
        "INBOX"
    ],
    "payload": 
        "headers": [
                "name": "Reply-To",
                "value": "NAME \u003cnewsletter@email.com\u003e"
            ,
            
                "name": "Subject",
                "value": "Week 9 Newsletter"
            ,
            
                "name": "From",
                "value": "NAME \u003csupport@email.com\u003e"
            ,
            "body": 
                "size": SIZE,
                "data": ""
            
        ,
    

因此,根据您以后要如何处理这些,您可以使用返回的电子邮件中的以下一些字段:

labelIds - 此字段将包含附加到传入电子邮件的所有标签,这意味着(取决于您对收件箱的设置)您可以轻松地检查此电子邮件,例如,因为 @ 是促销电子邮件987654326@贴在上面的标签;

Reply-To 标头 - 您可以在此处检索电子邮件地址并稍后对其进行分析;

Subject 标头 - 假设您设置了关键字列表,您可以搜索电子邮件的主题,然后根据结果进行标记;

From 标头 - 您可以在这里一次又一次地检索此电子邮件地址,根据关键字列表,您可以确定此电子邮件的类型。

参考

Gmail API Message Resource。

【讨论】:

这是我已经在做的,但我的问题是如何从邮件标题信息中过滤营销电子邮件、基于角色的电子邮件和其他电子邮件。

以上是关于如何以编程方式检测营销和基于角色的电子邮件?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Open XML 和 SAX 以编程方式检测空行?

以编程方式为特定用户角色禁用税收

Gmail:如何以编程方式发送电子邮件

以编程方式修改 SipAddress

电子邮箱登陆3大方式普及

将基于送货方式的自定义文本添加到某些 WooCommerce 电子邮件通知