CN112565055B - 促进对第三方发送的电子邮件进行认证的系统和方法 - Google Patents

促进对第三方发送的电子邮件进行认证的系统和方法 Download PDF

Info

Publication number
CN112565055B
CN112565055B CN202011028741.2A CN202011028741A CN112565055B CN 112565055 B CN112565055 B CN 112565055B CN 202011028741 A CN202011028741 A CN 202011028741A CN 112565055 B CN112565055 B CN 112565055B
Authority
CN
China
Prior art keywords
domain
email
computing device
party
platform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011028741.2A
Other languages
English (en)
Other versions
CN112565055A (zh
Inventor
A·扎赫德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiu Pufei Co
Original Assignee
Xiu Pufei Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiu Pufei Co filed Critical Xiu Pufei Co
Publication of CN112565055A publication Critical patent/CN112565055A/zh
Application granted granted Critical
Publication of CN112565055B publication Critical patent/CN112565055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

促进对第三方发送的电子邮件进行认证的系统和方法。商家可以授权第三方代表公司域来发送电子邮件。电子邮件是由第三方发送的,但是电子邮件标题的“发件人”部分被填充有该公司的电子邮件地址/域。公开了在一些实施例中使得能够针对由第三方代表公司域发送的电子邮件进行电子邮件认证(例如,SPF记录检查和/或DKIM验证)的方法。在一些实施例中,受信实体被招募以便与第三方和公司进行通信。受信实体具有适当的许可,用以请求公司DNS记录中的改变。受信实体从第三方接收请求以将电子邮件认证信息添加到DNS记录。受信实体确认第三方被公司授权,并且然后将所述信息添加到DNS记录。

Description

促进对第三方发送的电子邮件进行认证的系统和方法
优先权
本申请要求于2019年9月25日提交的美国专利申请序列号16/582,185以及于2020年7月30日提交的欧洲专利申请序列号20188506.8的优先权。
技术领域
本申请涉及电子邮件安全性。
背景技术
公司可以拥有或排他地使用特定域,例如domain.com。如本文中所使用,“域”涵盖子域。域可以具有与之相关联的一个或多个电子邮件地址,例如sales@domain.com、info@domain.com等。术语“公司”在本文中用作通用术语,其指代任何大小的企业。例如,公司可以是大型有限公司、小型或中型大小的企业或者单个商家,例如在电子商务平台上销售产品的商家。
公司可以发送电子邮件,并且电子邮件认证方法可以用于认证从公司的域接收到的电子邮件。电子邮件认证方法的示例包括发送者策略框架(SPF)和域密钥标识邮件(DKIM)。
如果使用SPF,则公司在与公司域相关联的公司域名系统(DNS)记录中发布SPF记录。SPF记录被存储在DNS服务器上。SPF记录列出了被授权从公司域发送电子邮件的服务器。例如,SPF记录通常将列出被公司用来发送出电子邮件的(一个或多个)服务器的(一个或多个)IP地址或(一个或多个)主机名。当电子邮件接收方接收到来自该域的电子邮件时,接收方执行如下电子邮件认证:接收方针对公司的DNS记录来查询DNS服务器,并且检查从其发送了电子邮件消息的IP地址(或主机名)是否与公司SPF记录中已经被授权的IP地址(或主机名)匹配。如果发现了匹配,则该检查通过。
如果使用DKIM,则公司对外发邮件的一部分(例如,至少是“发件人”字段)进行数字签名。例如,可以对包括“发件人”字段的信息进行哈希处理以生成哈希值,并且然后利用私钥对该哈希值进行加密以生成数字签名。然后,将数字签名与电子邮件一起发送,并且将对应的公钥发布在与公司域相关联的公司DNS记录上。当电子邮件接收方接收到电子邮件时,接收方通过验证该数字签名来执行电子邮件认证,例如如下所示:接收方查询与公司域相关联的DNS记录并且检索公钥。公钥用于对数字签名进行解密,并且从而获得第一哈希值。然后,接收方使用接收到的电子邮件来生成第二哈希值,该第二哈希值是以与发送者生成哈希值相同的方式而被生成的。接收方然后验证第一哈希值等于第二哈希值。
该公司还可以使用利用SPF和/或DKIM认证的基于域的消息认证、报告和一致性(DMARC)报告系统,由此电子邮件接收方编译并且发送报告,该报告包括关于哪些接收到的电子邮件未通过认证的信息。
有时,公司可能希望授权另一个企业代表该公司域来发送电子邮件。被授权代表该公司域来发送电子邮件的企业将被称为“第三方(3rd party)”。第三方在可以被称为第三方平台的平台上操作。电子邮件是由第三方发送的,但是电子邮件标题的“发件人”部分被填充有该公司的电子邮件地址/域(例如,sales@domain.com)。
如果未正确配置,则当第三方代表该公司域来发送初始电子邮件时,电子邮件认证通常失败。在SPF检查的情况下,第三方的外发邮件服务器的IP地址或主机名未被列出在针对该公司域的公司SPF记录中。在DKIM的情况下,利用第三方的私钥对电子邮件进行签名,但第三方的对应公钥未被存储在与该公司域相关联的公司DNS记录中。如果该公司甚至具有存储在公司DNS记录中的公钥,则它对应于被该公司使用的私钥(它不是与第三方使用的私钥相对应的公钥),并且因此签名验证将失败。
可以通过简单地不使用SPF或DKIM认证来避免该问题。然而,由于这些或其他电子邮件认证方法有助于防止电子邮件欺骗,因此期望实现这些协议之一以增强电子邮件安全性。
发明内容
公开了一种计算机实现的方法和系统,该方法和系统在一些实施例中使得能够针对由第三方代表公司域来发送的电子邮件进行电子邮件认证(例如,SPF记录检查和/或DKIM验证)。在一些实施例中,该系统和方法使得第三方的电子邮件认证信息、诸如第三方的SPF和/或DKIM信息能够被添加到与公司域相关联的DNS记录。因此,当第三方代表公司域来发送电子邮件时成功地使用SPF和/或DKIM认证协议可以是可能的。所描述的实施例不限于与SPF和/或DKIM一起使用。更一般地,所描述的实施例适用于任何电子邮件认证协议,其中第三方的电子邮件认证信息将被添加到与公司域相关联的DNS记录。
在一些实施例中,受信实体被招募以便与第三方和公司进行通信。受信实体具有适当的许可,用以请求公司DNS记录中的改变。受信实体从第三方接收用以将电子邮件认证信息添加到与公司域相关联的DNS记录的请求。受信实体确认第三方被公司授权,并且如果是这样,则将信息添加到与公司域相关联的DNS记录。
在一些实施例中,所述方法可以与电子商务或电子商务平台相关联。作为一个示例,第三方可以代表商家在电子商务平台上发送促销和市场营销材料、或者发送订单确认和更新。在一些实施例中,电子商务平台可以充当受信实体或托管受信实体。在一些实施例中,电子商务平台本身可以是第三方,例如如果电子商务平台代表商家在该平台上发送电子邮件的话。
在一个实施例中,提供了一种计算机实现的方法,该方法包括接收标识域的至少一个消息。该方法进一步包括:向受信实体计算设备传输用以将电子邮件认证信息添加到与该域相关联的DNS记录的请求。该请求包括:(i)电子邮件认证信息以及(ii)该域的指示。该方法可以可选地进一步包括从受信实体计算设备接收响应。该响应指示电子邮件认证信息已经被添加到与该域相关联的DNS记录。该方法可以可选地进一步包括:在接收到响应之后,指令电子邮件服务器从该域传输电子邮件。可以提供一种系统来执行该方法。该系统可以包括处理器和存储器,其中处理器使得方法步骤被执行,并且存储器存储相关信息(例如,域的标识)。
在另一个实施例中,提供了一种计算机实现的方法,该方法包括:接收用以将电子邮件认证信息添加到与域相关联的DNS记录的请求。该请求包括:(i)电子邮件认证信息以及(ii)该域的指示。该方法进一步包括将消息传输到与该域相关联的实体所使用的计算设备。该消息查询电子邮件认证信息是否被授权添加到与该域相关联的DNS记录。该方法进一步包括从计算设备接收响应。该响应指示电子邮件认证信息被授权添加到与该域相关联的DNS记录。该方法可以可选地进一步包括:在接收到响应之后,指令DNS服务器将电子邮件认证信息添加到与该域相关联的DNS记录。可以提供一种系统来执行该方法。该系统可以包括处理器和存储器,其中处理器使得方法步骤被执行,并且存储器存储相关信息(例如,电子邮件认证信息和域的指示)。
因此,提供了如以下权利要求中详细描述的方法、系统和计算机程序。
附图说明
将参考附图仅通过示例的方式来描述实施例,在附图中:
图1是根据一个实施例的电子商务平台的框图;
图2是根据一个实施例的管理员的主页的示例;
图3图示了根据一个实施例的用于确保由第三方代表公司域发送的电子邮件的系统;
图4至图8更详细地图示了图3的组件;
图9和图10图示了公司用户设备的示例用户接口;
图11和图12图示了根据各种实施例的用于对由第三方代表公司域发送的电子邮件消息进行认证的方法;
图13和图14图示了根据各种实施例的用于从DNS记录中移除第三方电子邮件认证信息的方法;以及
图15和图16均图示了根据一个实施例的相应的计算机实现的方法。
具体实施方式
为了说明性目的,现在将在下面将结合各图更详细地解释具体的示例实施例。
示例电子商务平台
在一些实施例中,可以关于电子商务平台来执行本文中公开的方法。因此,将描述电子商务平台的示例。
图1图示了根据一个实施例的电子商务平台100。电子商务平台100可以用于向客户提供商家产品和服务。虽然本公开设想使用装置、系统和过程来购买产品和服务,但是为了简单起见,本文中的描述将指代产品。遍及本公开对产品的所有引用也应该被理解为对产品和/或服务的引用,包括物理产品、数字内容、票证、订阅、要提供的服务等等。
虽然本公开始终设想“商家”和“客户”可以不仅仅是个体,但是为了简单起见,本文中的描述通常可以照此指代商家和客户。遍及本公开对商家和客户的所有引用也应该被理解为对个体、有限公司、企业、计算实体等的群组的引用,并且可以表示产品的营利性或非营利性交换。此外,虽然本公开始终指代“商家”和“客户”,并且照此描述他们的角色,但是电子商务平台100应当被理解成更一般地支持电子商务环境中的用户,并且遍及本公开对商家和客户的所有引用也应该被理解为对如下各项的引用:用户,诸如在用户是商家用户(例如,销售商、零售商、批发商或产品提供商)的情况下;客户用户(例如,买方、购买代理或产品用户);预期用户(例如,浏览但尚未承诺购买的用户、评估电子商务平台100以用于在市场营销和销售产品中的潜在用途的用户等);服务提供商用户(例如,运输提供商112、财务提供商等);公司或企业用户(例如,用于购买、销售或使用产品的公司代表;企业用户;客户关系或客户管理代理等);信息技术用户;计算实体用户(例如,用于购买、销售或使用产品的计算机器人)等。
电子商务平台100可以提供用于向商家提供用于管理其业务的在线资源和设施的集中式系统。可以通过在可以是平台100的部分或在平台100外部的一个或多个处理器上执行计算机软件、模块、程序代码和/或指令的机器来部分地或全部地部署本文中描述的设施。商家可以利用电子商务平台100以用于管理与客户的商务,诸如通过经由在线商店138、经由渠道110A-B、经由在物理位置(例如,物理店面,或者诸如经由信息亭、终端机、阅读器、打印机、3D打印机的其他位置等等)中的POS设备152来实现与客户的电子商务体验,通过经由电子商务平台100来管理他们的业务,以及通过经由电子商务平台100的通信设施129来与客户交互,或者其任何组合。商家可以利用电子商务平台100作为与客户的唯一商务存在,或者与其他商家商务设施结合地利用电子商务平台100,诸如通过物理商店(例如“砖墙加灰泥式的”零售商店)、商家离平台网站104(例如,与电子商务平台分离的由商家支持或代表商家的商务因特网网站或者其他互联网或web财产或资产)等。然而,甚至这些“其他”商家商务设施也可以被合并到电子商务平台中,诸如其中商家的物理商店中的POS设备152被链接到电子商务平台100中,其中商家离平台网站104诸如通过“购买按钮”而绑定到电子商务平台100中等等,该“购买按钮”将内容从商家离平台网站104链接到在线商店138。
在线商店138可以表示包括多个虚拟店面的多租户设施。在实施例中,商家可以诸如通过商家设备102(例如,计算机、膝上型计算机、移动计算设备等)来管理在线商店138中的一个或多个店面,并且通过多个不同的渠道110A-B(例如,在线商店138;通过POS设备152的物理店面;通过集成到网站或社交媒体渠道(诸如,在社交网络、社交媒体页面、社交媒体消息传递系统上)中的电子购买按钮的电子市场;等等)向客户供应产品。商家可以跨渠道110A-B进行销售,并且然后通过电子商务平台100来管理其销售,其中渠道110A可以被提供在电子商务平台100的内部或者从电子商务渠道110B的外部来被提供。商家可以以弹出窗口、通过批发、通过电话等在其物理零售商店中进行销售,并且然后通过电子商务平台100来管理其销售。商家可以采用这些中的全部或任何组合,诸如利用POS设备152通过物理店面来维持业务,通过在线商店138来维持虚拟店面,以及利用通信设施129以利用客户交互和分析132,从而改进销售的概率。遍及本公开,术语在线商店138和店面可以同义地用于指代通过电子商务平台100的商家的在线电子商务供应的存在,其中在线商店138可以指代由电子商务平台100(例如,针对多个商家)支持的店面的多租户集合,或者指代个体商家的店面(例如,商家的在线商店)。
在一些实施例中,客户可以通过客户设备150(例如,计算机、膝上型计算机、移动计算设备等)、POS设备152(例如,零售设备、信息亭、自动化结帐系统等)、或本领域已知的任何其他商务接口设备进行交互。电子商务平台100可以使得商家能够通过在线商店138、通过物理位置(例如,商家的店面或其他地方)中的POS设备152来到达客户,以便经由电子通信设施129通过对话来促进与客户的商务贸易等等,从而提供一种用于到达客户的系统,并且促进商家服务以得到可用于到达客户并与客户交互的真实或虚拟路径。
在一些实施例中并且如本文中进一步描述的,可以通过包括处理器和存储器的处理设施来实现电子商务平台100,该处理设施存储一组指令,该组指令当被执行时使电子商务平台100执行如本文中描述的电子商务和支持功能。处理设施可以是服务器、客户端、网络基础设施、移动计算平台、云计算平台、固定计算平台或其他计算平台的部分,并且在电子商务平台100、商家设备102、支付网关106、应用开发者、渠道110A-B、运输提供商112、客户设备150、销售点设备152等的电子组件之间和当中提供电子连接和通信。电子商务平台100可以被实现为云计算服务、软件即服务(SaaS)、基础设施即服务(IaaS)、平台即服务(PaaS)、桌面即服务(DaaS)、管理软件即服务(MSaaS)、移动后端即服务(MBaaS)、信息技术管理即服务(ITMaaS)等等,它们诸如在软件和递送模型中,在该软件和递送模型中,软件是在订阅基础上被许可并且集中托管的(例如,由用户使用客户端(例如,瘦客户端)经由web浏览器或其他应用来访问,通过POS设备来访问等)。在一些实施例中,电子商务平台100的元素可以被实现为在各种平台和操作系统上进行操作,所述各种平台和操作系统诸如iOS、Android,在web上等(例如,管理员114在针对iOS、Android和针对web的给定在线商店的多个实例中被实现,每个实例具有相似的功能)。
在一些实施例中,在线商店138可以通过由电子商务平台100的服务器提供的网页而服务于客户设备150。服务器可以从安装在客户设备150上的浏览器或其他应用接收对于该网页的请求,其中浏览器(或其他应用)通过IP地址连接到服务器,该IP地址是通过转换域名而获得的。作为回报,服务器发回所请求的网页。可以用超文本标记语言(HTML)、模板语言、JavaScript等或其任何组合来编写网页,或者该网页包括超文本标记语言(HTML)、模板语言、JavaScript等或其任何组合。例如,HTML是一种计算机语言,其描述诸如网页的布局、格式和内容之类的网页的静态信息。网站设计者和开发者可以使用模板语言来构建网页,所述网页将静态内容(其在多个页面上相同)和动态内容(其从一个页面到下一个页面而改变)进行组合。模板语言可以使重新使用定义网页布局的静态元素成为可能,同时利用来自在线商店的数据来动态填充页面。静态元素可以用HTML来编写,并且动态元素可以用模板语言来编写。文件中的模板语言元素可以充当占位符,以使得文件中的代码被编译并且发送到客户设备150,并且然后模板语言诸如在安装主题时被来自在线商店138的数据所替换。模板和主题可以考虑标签、对象和过滤器。客户端设备web浏览器(或其他应用)然后相应地呈现页面。
在一些实施例中,电子商务平台100可以向客户提供在线商店138服务,在这里,客户可以浏览和购买各种可用的产品(例如,将它们添加到购物车,通过购买按钮来立即购买等)。可以以透明的方式向客户提供在线商店138服务,而客户不一定意识到它是通过电子商务平台100提供的(而不是直接从商家提供的)。商家可以使用商家可配置的域名、可定制的HTML主题等来定制其在线商店138。商家可以通过主题系统来定制其网站的外观和感觉,诸如商家可以在其中通过改变其主题来选择和改变其在线商店138的外观和感觉,同时使相同的基础产品和业务数据被示出在在线商店的产品层次结构内。可以通过主题编辑器来进一步定制主题,主题编辑器是一种设计界面,其使得用户能够在灵活性的情况下定制其网站的设计。还可以使用主题特定的设置来定制主题,所述主题特定的设置可以改变诸如具体颜色、字体和预构建的布局方案之类的方面。在线商店可以实现用于网站内容的内容管理系统。商家可以撰写博客帖子或静态页面,并且诸如通过博客、文章等将它们发布到其在线商店138,以及配置导航菜单。商家可以将图像(例如,产品的图像)、视频、内容、数据等上传到电子商务平台100,诸如用于由系统来存储(例如,作为数据134)。在一些实施例中,电子商务平台100可以提供用于调整图像大小、将图像与产品相关联、添加文本并将文本与图像相关联、针对新产品变型添加图像、保护图像等等的功能。
如本文中所描述,电子商务平台100可以通过电话以及通过如本文中描述的物理POS设备152、通过包括在线商店138的多个不同渠道110A-B来向商家提供产品的交易设施。电子商务平台100可以包括与运行在线业务相关联的业务支持服务116、管理员114等,诸如提供与其在线商店相关联的域服务118、用于促进与客户的交易的支付服务120、用于针对所购买的产品提供客户运输选项的运输服务122、与产品保护和责任、商家账单相关联的风险和保险服务124等。可以经由电子商务平台100或与外部设施相关联地提供服务116,该外部设施诸如通过用于支付处理的支付网关106、用于加快产品运输的运输提供商112等。
在一些实施例中,电子商务平台100可以提供集成的运输服务122(例如,通过电子商务平台运输设施或通过第三方运输承运者),诸如向商家提供实时更新、跟踪、自动费率计算、批量订单准备、标签打印等。
图2描绘了管理员114的主页的非限制性实施例,该管理员114的主页可以示出关于日常任务、商店的最近活动、以及商家可以采取以构建其业务的下一步骤的信息。在一些实施例中,商家可以经由商家设备102(诸如,来自台式计算机或移动设备)登录到管理员114,并且管理他们的在线商店138的各方面,诸如查看在线商店138的最近活动,更新在线商店138的目录,管理订单、最近访问活动、总订单活动等。在一些实施例中,商家可能能够通过使用侧边栏来访问管理员114的不同区段,诸如图2上所示。管理员114的部分可以包括用于访问和管理商家业务的核心方面的各种界面,所述商家业务的核心方面包括订单、产品、客户、可用的报告和折扣。管理员114还可以包括用于管理商店的销售渠道的界面,所述商店的销售渠道包括在线商店、使得可用于客户访问该商店的(一个或多个)移动应用(移动App)、POS设备和/或购买按钮。管理员114还可以包括用于管理安装在商家账户上的应用(App)的界面;设置被应用到商家的在线商店138和帐户。商家可以使用搜索栏来查找产品、页面或其他信息。取决于商家使用的设备102或软件应用,可以通过管理员114来针对不同的功能启用它们。例如,如果商家从浏览器登录到管理员114,则他们可能能够管理其在线商店138的所有方面。如果商家从其移动设备(例如,经由移动应用)登录,则他们可能能够查看其在线商店138的所有方面或方面的子集,诸如查看在线商店138的最近活动,更新在线商店138的目录,管理订单等。
可以通过获取报告或指标来查看关于去往商家在线商店138的商务贸易和访问者的更详细的信息,诸如显示针对商家总体业务的销售概要,针对有效销售渠道的特定销售和参与数据等。报告可以包括获取报告、行为报告、客户报告、财务报告、市场营销报告、销售报告、自定义报告等。商家可能能够诸如通过使用下拉菜单来根据不同的时间段(例如,天、周、月等)查看不同渠道110A-B的销售数据。可以为想要商店的销售和参与数据的更详细查看的商家提供概述仪表板。可以提供“家庭指标”区段中的活动提要(activity feed),以说明商家帐户上的活动的概述。例如,通过点击“查看所有最近活动”仪表板按钮,商家可能能够在其帐户上看到更长的最近活动提要。主页可以诸如基于帐户状态、增长、最近的客户活动等来示出关于商家在线商店138的通知。可以提供通知以协助商家导航通过如下过程:诸如捕获支付、将订单标记为已履行、将已完成的订单存档等。
电子商务平台100可以提供通信设施129和相关联的商家接口,以用于提供电子通信和市场营销,诸如利用电子消息传递聚合设施来收集和分析商家、客户、商家设备102、客户设备150、POS设备152等之间的通信交互,以便聚合并分析该通信,诸如以用于增加提供产品销售的可能性等等。例如,客户可能具有与产品有关的问题,这可能在客户与商家(或代表该商家的基于自动化处理器的代理)之间产生对话,其中通信设施129分析该交互,并且将关于如何改进销售概率的分析提供给商家。
电子商务平台100可以提供金融设施120,以用于诸如通过安全卡服务器环境与客户进行安全金融交易。电子商务平台100可以诸如在支付卡行业数据(PCI)环境(例如,卡服务器)中存储信用卡信息,以协调金融,向商家开账单,在电子商务平台100的金融机构帐户与商家的后备帐户之间执行自动化清算所(ACH)转账(例如,在使用资金时)等。这些系统可能符合萨班斯-奥克斯利法案(SOX),并且在其开发和操作中要求高水平的勤勉。金融设施120还可以诸如通过资金借贷(例如,借贷款项、现金预付等)和提供保险来向商家提供金融支持。另外,电子商务平台100可以提供一组市场营销和合作伙伴服务,并且控制电子商务平台100与合作伙伴之间的关系。它们还可以将新的商家与电子商务平台100连接起来,并且使该新的商家登上电子商务平台100。这些服务可以通过使商家更容易跨电子商务平台100而工作来实现商家增长。通过这些服务,可以经由电子商务平台100向商家提供帮助设施。
在一些实施例中,在线商店138可以支持大量独立管理的店面,并且在每天的基础上针对多种产品处理大量的交易数据。交易数据可以包括客户联系信息、账单信息、运输信息、关于所购买的产品的信息、关于所呈现的服务的信息、以及通过电子商务平台100与业务相关联的任何其他信息。在一些实施例中,电子商务平台100可以将该数据存储在数据设施134中。可以处理交易数据以产生分析132,该分析132进而可以被提供给商家或第三方商务实体,该分析132诸如提供消费者趋势、市场营销和销售见解、用于改进销售的建议、客户行为的评估、市场营销和销售建模、欺诈趋势等等,其与在线商务有关并且通过仪表板界面、通过报告等被提供。电子商务平台100可以存储关于业务和商家交易的信息,并且数据设施134可以具有用于增强、贡献、完善和提取数据的许多方式,其中随着时间推移,收集到的数据可以使得能够改进电子商务平台100的各方面。
再次参考图1,在一些实施例中,电子商务平台100可以被配置有:用于内容管理、任务自动化和数据管理的商务管理引擎136,以实现对多个在线商店138的支持和服务(例如,与产品、库存、客户、订单、协作、供应方、报告、金融、风险和欺诈等有关),但是电子商务平台100可通过应用142A-B来扩展,应用142A-B实现了对于适应不断增长的多种商家在线商店、POS设备、产品和服务所要求的更大灵活性和自定义过程,其中可以在电子商务平台100内部提供应用142A,或从电子商务平台100外部提供应用142B。在一些实施例中,应用142A可以由提供平台100的相同方或由不同方提供。在一些实施例中,应用142B可以由提供平台100的相同方或由不同方提供。商务管理引擎136可以被配置成用于通过诸如通过客户标识符、订单标识符、在线商店标识符等等对功能和数据进行分区(例如,分片)来实现灵活性和可扩缩性。商务管理引擎136可以适应商店特定的业务逻辑,并且在一些实施例中,可以并入管理员114和/或在线商店138。
商务管理引擎136包括电子商务平台100的基本或“核心”功能,并且照此,如本文中所描述,并非支持在线商店138的所有功能都适合于被包括在内。例如,用于包括在商务管理引擎136中的功能可能需要超过核心功能阈值,通过该核心功能阈值可以确定的是:该功能是对于商务体验的核心(例如,对于大多数在线商店活动是公共的,诸如跨渠道、管理员界面、商家位置、行业、产品类型等是公共的)、可跨在线商店138重新使用(例如,可以跨核心功能被重新使用/修改的功能)、一次仅限于单个在线商店138的情境(例如,实现在线商店“隔离原则”,其中代码应当不能一次与多个在线商店138进行交互,从而确保在线商店138不能访问彼此的数据)、提供交易工作量等等。维持对实现哪些功能的控制可以使得商务管理引擎136能够保持响应,这是由于许多所要求的功能要么由商务管理引擎136直接服务,要么通过接口140A-B(诸如,通过其经由至应用142A-B和渠道110A-B的应用编程接口(API)连接的扩展)来启用,其中接口140A可以提供给电子商务平台100内部的应用142A和/或渠道110A,或者通过接口140B提供给电子商务平台100外部的应用142B和/或渠道110B。通常,平台100可以包括接口140A-B(其可以是扩展、连接器,API等),接口140A-B促进连接到其他平台、系统、软件、数据源、代码等,以及与其他平台、系统、软件、数据源、代码等进行通信。这样的接口140A-B可以是商务管理引擎136的接口140A,或更一般地是平台100的接口140B。如果没有将注意给予到限制商务管理引擎136中的功能,则响应性可能受到损害,诸如由于基础设施降级、由于缓慢的数据库或非关键后端故障,由于灾难性基础设施故障(诸如,在数据中心离线的情况下)、由于部署新代码所花费的时间比预期的长等等。为了防止或减轻这些情形,商务管理引擎136可以被配置成维持响应性,诸如通过利用超时、队列、回压来防止降级等的配置。
尽管对在线商店数据进行隔离对于维持在线商店138与商家之间的数据隐私是重要的,但是可能存在针对收集和使用跨商店数据的原因,诸如例如利用订单风险评估系统或平台支付设施,其两者要求来自多个在线商店138的信息良好地执行。在一些实施例中,可能优选的是将这些组件移出商务管理引擎136并且移入电子商务平台100内的它们自己的基础设施中,而不是违反隔离原则。
在一些实施例中,电子商务平台100可以提供平台支付设施120,其是利用来自商务管理引擎136的数据但是可以位于外部以便不违反隔离原则的组件的另一示例。平台支付设施120可以允许与在线商店138交互的客户通过商务管理引擎136使他们的支付信息被安全地存储,使得他们仅需要将其输入一次即可。当客户访问不同的在线商店138时,即使他们之前从未去过那里,平台支付设施120也可以回想起他们的信息以实现更快速和正确的结账。这可以提供跨平台的网络效果,其中随着更多的商家加入,电子商务平台100对于其商家变得更有用,诸如因为存在由于相对于客户购买的易用性而更频繁地结账的更多客户。为了最大化该网络的效果,给定客户的支付信息可以从在线商店的结帐中可检索,从而允许使得信息跨在线商店138而全局可用。对于每个在线商店138而言,能够连接到任何其他在线商店138以检索在那里存储的支付信息将是困难的并且容易出错。结果,可以在商务管理引擎136外部实现平台支付设施。
对于商务管理引擎136内未包括的那些功能,应用142A-B提供了一种向电子商务平台100添加特征的方式。应用142A-B可能能够访问和修改商家在线商店138上的数据,通过管理员114执行任务,通过用户接口(例如,其通过扩展/API而显露出)为商家创建新的流程等等。可以使得商家能够通过应用搜索、推荐和支持128来发现并安装应用142A-B。在一些实施例中,核心产品、核心扩展点、应用和管理员114可以被开发成一起工作。例如,可以在管理员114内部构建应用扩展点,使得可以通过应用来扩展核心特征,所述应用可以通过扩展来将功能递送给商家。
在一些实施例中,应用142A-B可以通过接口140A-B将功能递送给商家,诸如其中应用142A-B能够向商家显露出交易数据(例如,App:“引擎,使用嵌入式app SDK来在移动和web管理员中显露出我的app数据”),和/或其中商务管理引擎136能够要求该应用按需求执行工作(引擎:“App,给我针对该结账的本地税费计算”)。
应用142A-B可以支持在线商店138和渠道110A-B,提供针对商家的支持,与其他服务集成等等。在商务管理引擎136可以向在线商店138提供服务的基础的情况下,应用142A-B可以为商家提供一种用于满足特定且有时是独特的需要的方式。不同的商家将具有不同的需要,并且因此可以受益于不同的应用142A-B。可以通过如下方式来经由电子商务平台100更好地发现应用142A-B:通过应用分类法(类别)的开发,该应用分类法(类别)使得能够根据其针对商家执行的功能的类型来标记应用;通过支持搜索、排名和推荐模型的应用数据服务;通过应用发现界面,诸如应用商店、家庭信息卡、应用设置页面;等等。
应用142A-B可以通过接口140A-B连接到商务管理引擎136,诸如利用API以将通过商务管理引擎136以及在商务管理引擎136内可用的功能和数据暴露给应用的功能(例如,通过REST、GraphQL等)。例如,电子商务平台100可以向面向商家和合作伙伴的产品和服务提供API接口140A-B,诸如包括应用扩展、过程流服务、面向开发者的资源等。随着客户更频繁地使用移动设备来进行购物,与移动使用相关的应用142A-B可以受益于API的更广泛使用,以支持相关的不断增长的商务流量。通过使用应用和API而供应的灵活性(例如,如针对应用开发而供应的灵活性)使得电子商务平台100能够更好地适应商家(以及通过内部API的内部开发者)的新的和独特的需要,而不要求对商务管理引擎136的不断改变,从而当商家需要他们需要的东西的时候将其提供给商家。例如,运输服务122可以通过运输或承运者服务API与商务管理引擎136集成,从而使得电子商务平台100能够提供运输服务功能,而不直接影响在商务管理引擎136中运行的代码。
可以通过让合作伙伴通过应用开发来改进和扩展商家工作流程来解决许多商家问题,诸如与后台操作相关联的问题(面向商家的应用142A-B)和在线商店138中的问题(面向客户的应用142A-B)。作为开展业务的一部分,许多商家将在每天的基础上使用与移动和web相关的应用,以用于后台任务(例如,推销、库存、折扣、履行等)和在线商店任务(例如,与他们的在线商店有关的应用,用于闪速销售、新产品供应等),其中通过扩展/API 140A-B的应用142A-B帮助使得产品在快速增长的市场中容易地查看和购买。在一些实施例中,合作伙伴、应用开发者、内部应用设施等可以被提供有软件开发工具包(SDK),诸如通过在管理员114内创建将应用接口沙盒化(sandbox)的框架。在一些实施例中,管理员114可能没有控制权,也可能不知道该框架内发生了什么。SDK可以与用户接口工具包结合使用,以产生模仿电子商务平台100外观和感觉的界面,诸如充当商务管理引擎136的扩展。
利用API的应用142A-B可以按需求拉取数据,但是它们也经常需要在更新发生时推送数据。更新事件可以在订阅模型中实现,诸如例如客户创建、产品改变或订单取消。更新事件可以向商家提供关于商务管理引擎136的改变状态的所需更新,诸如用于同步本地数据库,通知外部集成合作伙伴等。更新事件可以启用该功能,而不必一直轮询商务管理引擎136以诸如通过更新事件订阅来针对更新进行检查。在一些实施例中,当发生与更新事件订阅有关的改变时,商务管理引擎136可以发布请求,诸如发布到预定义的回调URL。该请求的主体可以包含对象的新状态以及动作或事件的描述。可以在管理员设施114中手动创建、或者(例如,经由API 140A-B)自动地创建更新事件订阅。在一些实施例中,更新事件可以根据触发它们的状态改变而被排队和异步处理,这可能产生未实时分发的更新事件通知。
在一些实施例中,电子商务平台100可以提供应用搜索、推荐和支持128。应用搜索、推荐和支持128可以包括:开发者产品和工具,以帮助应用、应用仪表板的开发(例如,以便向开发者提供开发界面,向管理员提供以用于应用的管理,向商家提供以用于应用的定制等等);用于安装和提供关于提供对应用142A-B的访问的许可的设施(例如,用于公共访问,诸如在安装之前必须满足准则的情况下,或供商家私人使用);应用搜索,以便使商家易于针对满足其在线商店138需要的应用142A-B进行搜索;应用建议,以便向商家提供关于他们可以如何通过其在线商店138来改进用户体验的建议;商务管理引擎136内的核心应用能力的描述等等。这些支持设施可以由任何实体执行的应用开发所利用,所述任何实体包括开发他们自己的应用142A-B的商家、开发应用142A-B的第三方开发者(例如,由商家签约,他们自行开发以向公众供应,签约以供与电子商务平台100联合使用等)、或由与电子商务平台100相关联的内部个人资源来开发的应用142A或142B。在一些实施例中,可以向应用142A-B指派应用标识符(ID),诸如用于链接到应用(例如,通过API)、针对应用进行搜索、做出应用推荐等。
商务管理引擎136可以包括电子商务平台100的基础功能,并且通过API 140A-B向应用142A-B暴露这些功能。API 140A-B可以启用通过应用开发构建的不同类型的应用。应用142A-B可能能够满足商家的很多种需求,但是可以大致被分组成三个类别:面向客户的应用、面向商家的应用、集成应用等。面向客户的应用142A-B可以包括在线商店138或渠道110A-B,它们是其中商家可以列出产品并且使产品被购买的地方(例如,在线商店、用于闪速销售的应用(例如,商家产品或来自出自第三方来源的机会性的销售机会)、移动商店应用、社交媒体渠道、用于提供批发购买的应用等)。面向商家的应用142A-B可以包括如下应用:该应用允许商家管理其在线商店138(例如,通过与web或网站有关的应用或者与移动设备有关的应用)、运行其业务(例如,通过与POS设备有关的应用)、使其业务增长(例如,通过与运输(例如,直接运输)有关的应用、使用自动化代理、使用过程流开发和改进)等。集成应用可以包括提供参与业务运行的有用集成的应用,诸如运输提供商112和支付网关。
在一些实施例中,应用开发者可以使用应用代理,以便从外部位置取回数据并且将其显示在在线商店138的页面上。这些代理页面上的内容可以是动态的,是能够被更新的等等。应用代理对于显示图像库、统计信息、自定义表单和其他种类的动态内容可能是有用的。电子商务平台100的核心应用结构可以允许在应用142A-B中构建增加数量的商家体验,使得商务管理引擎136可以保持专注于商务贸易的更常用的业务逻辑。
电子商务平台100通过策划的系统架构提供在线购物体验,该策划的系统架构使得商家能够以灵活且透明的方式与客户联系。通过实施例示例购买工作流程可以更好地理解典型的客户体验,其中客户在渠道110A-B上浏览商家的产品,将他们打算购买的东西添加到他们的购物车,进行结账,并且针对他们购物车的内容进行支付,从而为商家创建订单。商家然后可以检查并且履行(或取消)该订单。然后将产品递送给客户。如果客户不满意,则他们可能将产品退还给商家。
在示例实施例中,客户可以在渠道110A-B上浏览商家的产品。渠道110A-B是客户可以查看和购买产品的地方。在一些实施例中,渠道110A-B可以被建模为应用142A-B(可能的例外是在线商店138,其被集成在商务管理引擎136内)。推销组件可以允许商家描述他们想要销售什么以及在哪里销售它。产品与渠道之间的关联可以被建模为产品公布,并且由渠道应用诸如经由产品清单API来访问。产品可以具有如大小和颜色之类的许多选项,并且具有许多变型,所述变型将可用的选项扩展成所有选项的特定组合,如超小和绿色的变型,或大尺寸和蓝色的变型。产品可以具有至少一个变型(例如,针对没有任何选项的产品创建了“默认变型”)。为了促进浏览和管理,可以将产品分组成集合、所提供的产品标识符(例如,库存单位(SKU))等。可以通过要么将产品手动分类成一个集合(例如,自定义集合)、要么构建用于自动分类的规则集(例如,智能集合)等来构建产品的集合。产品可以通过虚拟或增强现实界面等而被视为2D图像、3D图像、旋转视图图像。
在一些实施例中,客户可以将他们打算购买的东西添加到他们的购物车(在替代实施例中,可以诸如通过如本文中描述的购买按钮来直接购买产品)。客户可以将产品变型添加到他们的购物车。购物车模型可能是特定于渠道的。在线商店138购物车可以由多个购物车行项目组成,其中每个购物车行项目跟踪产品变型的量。商家可以使用购物车脚本来基于客户的购物车内容向客户供应特殊的促销。由于将产品添加到购物车并不意味着来自客户或商家的任何承诺,并且购物车的预期寿命可能在几分钟(而不是几天)的数量级内,因此购物车可以存留到临时数据存储。
然后,客户进行结帐。结帐组件可以将web结帐实现为面向客户的订单创建过程。可以提供结帐API作为由一些渠道应用使用的面向计算机的订单创建过程,以代表客户(例如,针对销售点)创建订单。结帐可以从购物车中创建,并且记录诸如电子邮件地址、账单和运输详细信息之类的客户的信息。结帐时,商家承诺进行定价。如果客户输入了他们的联系信息但是没有进行支付,则电子商务平台100可以提供与客户重新接触的机会(例如,在已废弃的结账特征中)。由于那些原因,结帐可以具有与购物车相比长得多的寿命(数小时或甚至数天),并且因此是持久的。结帐可以基于客户的运输地址来计算税费和运输成本。结帐可以将税费的计算委托给税费组件,并且将运输成本的计算委托给递送组件。定价组件可以使得商家能够创建折扣代码(例如,“秘密”字符串,其当被录入在结帐栏上时,将新价格应用于结帐栏中的项)。商家可以使用折扣来吸引客户并且评估市场营销活动的表现。可以诸如通过价格规则(例如,当被满足时就意味着一组应享权利的一组先决条件)而在同一平台件之上实现折扣和其他自定义价格系统。例如,该先决条件可能是诸如“订单小计大于100美元”或“运输成本低于10美元”之类的项,并且该应享权利可能是诸如“整个订单上的20%折扣”或“产品X、Y和Z减10美元”之类的项。
然后,客户为他们的购物车内容进行支付,从而为商家创建订单。渠道110A-B可以使用商务管理引擎136来使钱、货币或价值贮藏(诸如,美元或加密货币)在客户和商家之间往返移动。与各种支付提供商(例如,在线支付系统、移动支付系统、数字钱包、信用卡网关等)的通信可以在支付处理组件内实现。可以通过卡服务器环境来提供与支付网关106的实际交互。在一些实施例中,支付网关106可以诸如与领先的国际信用卡处理器集成来接受国际支付。卡服务器环境可以包括卡服务器应用、卡接收器(card sink)、托管字段等。该环境可以充当敏感信用卡和信息的安全网守。在一些实施例中,大多数过程可以由支付处理作业来编排(orchestrate)。商务管理引擎136可以支持许多其他支付方式,诸如通过异地支付网关106(例如,其中将客户重定向到另一个网站)、手动地(例如,现金)、在线支付方法(例如,在线支付系统、移动支付系统、数字钱包、信用卡网关等)、礼品卡等等。在结帐过程结束时,创建了订单。订单是商家与客户之间的销售合同,其中商家同意提供订单上列出的商品和服务(例如,订单行项目、运输行项目等),并且客户同意提供支付(包括税费)。该过程可以在销售组件中建模。不依赖于商务管理引擎136结帐的渠道110A-B可以使用订单API来创建订单。一旦创建了订单,就可以经由通知组件将订单确认通知发送给客户,并且将已下订单的通知发送给商家。可以在支付处理作业开始时预定库存以避免过度销售,(例如,商家可以通过每个变型的库存策略来控制该行为)。库存预定可以具有短的时间跨度(数分钟),并且可能需要非常快速且可扩缩以支持闪速销售(例如,诸如以冲动购买为目标的在短时间内供应的折扣或促销)。如果支付失败,则释放预订。当支付成功并创建了订单时,预订将被转换成分配给特定位置的长期库存承诺。库存组件可以记录变型被储存在何处,并且跟踪启用了库存跟踪的变型的量。它将产品变型(表示产品清单模板的面向客户的概念)与库存项目(表示其量和位置受管理的项目的面向商家的概念)分离。库存级别组件可以保持跟踪可用于销售的已承诺给订单或从库存转移组件(例如,从供应商)传入的量。
商家然后可以检查并且履行(或取消)该订单。检查组件可以实现业务过程商家的使用,以确保在实际履行订单之前所述订单适合于履行。订单可能是欺诈性的,要求验证(例如,ID检查),具有要求商家等待以确保他们将接收到他们的款项的支付方法等等。风险和建议可以存留在订单风险模型中。订单风险可能是由欺诈检测工具生成的,由第三方通过订单风险API提交等等。在继续履行之前,商家可能需要捕获支付信息(例如,信用卡信息)或等待以接收到它(例如,经由银行转账、支票等)并且将订单标记为已支付。商家现在可以准备用于递送的产品。在一些实施例中,该业务过程可以由履行组件来实现。履行组件可以基于库存位置和履行服务将订单的行项目分组成工作的逻辑履行单元。商家可以检查,调整工作单元并且触发相关的履行服务(诸如通过当商家将商品拣选并包装在盒子中时使用的手动履行服务(例如,在商家管理的位置处)),购买运输标签并输入其跟踪号码,或仅将该项目标记为已履行。自定义履行服务可以发送电子邮件(例如,不提供API连接的位置)。API履行服务可以触发第三方,其中第三方应用创建履行记录。传统的履行服务可以触发从商务管理引擎136到第三方的自定义API调用(例如,由亚马逊进行的履行)。礼品卡履行服务可以提供礼品卡(例如,生成号码)并且激活礼品卡。商家可以使用订单打印机应用来打印装箱单(packing slip)。当该项目被包装在盒子中并且准备好进行运输、已运输、已跟踪、已递送、被验证为由客户接收到等等时,可以执行履行过程。
如果客户不满意,他们可能能够将(一个或多个)产品退还给商家。商家可能经历“退售”一项目的业务过程可以由退还组件来实现。退还可能由多种不同的动作组成,所述多种不同的动作诸如:再储存,在这种情况下,已销售的产品实际上又重新进入了该业务并且可再次销售;退款,在这种情况下,从客户收集的钱被部分或全部退还;会计调整,其注明已退款了多少钱(例如,包括是否有任何再储存费用,或未退还并留在客户手中的商品);等等。退还可以表示对销售合同(例如订单)的改变,并且其中电子商务平台100可以使商家意识到与法律义务(例如,关于税费)有关的合规性问题。在一些实施例中,电子商务平台100可以使得商家能够保持跟踪销售合同随时间的改变,其诸如通过销售模型组件(例如,仅允许附加的基于日期的分类账,其记录发生在某项目上的与销售相关的事件)来实现。
由第三方代表公司域而发送的电子邮件
在一些实施例中,商家可以具有公司域(例如,domain.com)。一个或多个电子邮件地址可以与公司域相关联,例如sales@domain.com。商家可以招募第三方以代表公司域来发送电子邮件。在一些实施例中,第三方可以是电子商务平台100或电子商务平台100的部分,例如电子商务平台100中的代表商家的公司域来发送电子邮件的外发电子邮件服务器。在其他实施例中,第三方可以是在电子商务平台100上执行的应用(例如,应用142A或142B),例如代表商家的公司域来发送市场营销电子邮件的应用。在一些实施例中,第三方可以是甚至不与电子商务平台100相关联的另一个服务提供商。
下面描述了用于确保由第三方代表公司发送的电子邮件的系统和方法。然而,尽管下面描述的实施例可以与电子商务平台(例如,如图1中的电子商务平台100)相关联地实现,但是下面描述的实施例不限于在电子商务平台中的实现、或甚至与电子商务相关联的实现。相反地,下面描述的实施例可以在其中公司与第三方之间存在关系并且其中期望许可第三方代表公司发送电子邮件的任何系统中实现。因此,其余的解释将不与电子商务平台中的实现绑定。
确保由第三方代表公司域发送的电子邮件
图3图示了根据一个实施例的用于确保由第三方代表公司域发送的电子邮件的系统202。系统202包括公司具有的可供其支配的公司计算资源250。公司计算资源250包括公司服务器252和公司用户设备253。公司用户设备253是由公司的用户使用的设备,其取决于实现方式例如是膝上型计算机、台式计算机、平板设备或移动设备等。在一些实施例中,公司计算资源250的一些或全部可以是电子商务平台的部分。例如,公司服务器252可以是电子商务平台上的服务器,并且其用于为公司或代表公司执行操作。电子商务平台上的服务器还可以使用电子商务平台来为其他公司或代表其他公司执行操作。在一些实施例中,公司用户设备253可以是与托管服务器252的电子商务平台进行通信的商家设备。更一般地,公司计算资源250不需要与电子商务平台具有任何关联。
该系统202进一步包括第三方具有的可供其支配的第三方计算资源254。第三方计算资源254是包括第三方计算设备256的平台的部分。例如,取决于实现方式,第三方计算设备256可以是服务器、个人计算机或移动设备等。第三方计算资源254还包括外发邮件服务器258。外发邮件服务器258是可供第三方支配的特定计算设备,其用于将电子邮件消息传输到接收方邮件服务器,诸如传输到接收方邮件服务器270。电子邮件消息可能附带有照片、视频、文档和/或其他文件。外发邮件服务器258由第三方来使用,但是它可能不一定由第三方所拥有。在一些实施例中,第三方计算资源254可以是电子商务平台的部分,例如如果电子商务平台充当代表公司发送电子邮件的第三方的话。
系统202进一步包括DNS服务器262。DNS服务器262是公共服务器,该公共服务器除其他事物之外还存储与公司域相关联的DNS记录264。DNS记录264记录下面讨论的信息,例如受信实体的位置、电子邮件认证信息(诸如,SPF记录和/或DKIM公钥)等。DNS记录264可以作为一个或多个文件被存储在DNS服务器262上。
DNS记录264中存储的是电子邮件认证信息266。电子邮件认证信息266包括将由电子邮件接收方用来认证从公司域接收的电子邮件的信息。因此,电子邮件认证信息266包括与电子邮件安全性有关的记录条目(例如,TXT文件),并且可以包括诸如以下各项之类的信息:与公司计算资源250相关联的域,和/或可以用于SPF验证的IP地址(或(一个或多个)主机名),和/或用于DKIM验证的公钥。
系统202进一步包括受信实体计算设备260。受信实体计算设备260是受公司计算资源250信任的计算设备。如下面详细讨论的,受信实体计算设备260具有用以修改存储在与公司域相关联的DNS记录264中的信息的能力和许可。例如,受信实体计算设备260可以指令对存储在DNS记录264内的电子邮件认证信息266的改变,例如通过向DNS服务器262传输请求所述改变的消息。在一些实施例中,受信实体计算设备260可以独立于公司,而在其他实施例中,受信实体计算设备260可以与公司相关联(例如,由公司计算资源250托管)。在一些实施例中,受信实体计算设备260可以是电子商务平台的部分。
受信实体计算设备260的(一个或多个)公共域和/或(一个或多个)IP地址被存储在DNS记录264内的受信实体位置268中。其他计算设备可以查询DNS服务器262,以获得存储在DNS记录264的受信实体位置268中的信息,并且然后使用该位置信息来向受信实体计算设备260发送消息。例如,受信实体位置268可以是存储受信实体计算设备260的IP地址的TXT记录。第三方计算设备256可以从DNS服务器262请求TXT记录的副本,并且读取TXT记录以获得受信实体计算设备260的网络位置。在一些实施例中,使用可容易标识的标签或标准化的格式来存储TXT记录,并且将其作为域的记录集的部分来存储,使得它可以被更容易地查询。
该系统202进一步包括接收方邮件服务器270,其是可以从另一个外发邮件服务器接收电子邮件消息(诸如,从第三方的外发邮件服务器258发送的电子邮件)的服务器的示例。接收方邮件服务器270能够与DNS服务器262进行通信,并且访问存储在DNS记录264内的电子邮件认证信息266以认证接收的电子邮件。最终用户272在由接收方邮件服务器270接收到的电子邮件被处理并且被递送到它们的电子邮件收件箱时访问所述电子邮件。
在操作中,公司授权第三方代表公司域来发送电子邮件。例如,公司的雇员或商家可以使用公司用户设备253来向第三方计算设备256传输将由第三方使用的公司域和/或与公司域相关联的电子邮件地址的指示。然后,第三方代表该公司域来发送电子邮件。然而,在没有进一步干预的情况下,可能发生以下问题。接收方邮件服务器270接收到由第三方代表公司域发送的电子邮件。作为针对电子邮件认证协议(诸如SPF或DKIM)执行检查的部分,接收方邮件服务器270检查与公司域相关联的DNS记录264,以便获得存储在电子邮件认证信息266中的相关认证信息。例如,如果由接收方邮件服务器270执行SPF认证,则相关认证信息是与公司域相关联并且被存储为电子邮件认证信息266的部分的SPF记录。作为另一示例,如果接收方邮件服务器270执行DKIM认证,则相关认证信息是存储在电子邮件认证信息266中的DKIM公钥。如果替代地或附加地实现了任何其他电子邮件认证方法,则接收方邮件服务器270将继续使用电子邮件认证信息266来执行相关认证检查。然而,与公司域相关联的电子邮件认证信息266中将不包括第三方的认证信息。例如,由第三方使用的外发邮件服务器258的IP地址将不处于被存储在电子邮件认证信息266中的SPF记录中。作为另一个示例,与公司域相关联的电子邮件认证信息266中将不包括与第三方的外发邮件服务器258使用的私钥相对应的DKIM公钥。因此,由接收方邮件服务器270执行的电子邮件认证通常将失败。
为了解决这个问题,并且如下面详细解释的,在一些实施例中,第三方计算设备256请求将第三方电子邮件认证信息(例如外发邮件服务器258的IP地址、和/或DKIM公钥)添加到被存储在与公司域相关联的DNS记录264中的电子邮件认证信息266。然而,第三方是不受信的,并且没有权限直接修改被存储在与公司域相关联的DNS记录264中的电子邮件认证信息266。因此,将第三方的请求发送到受信实体计算设备260,并且由受信实体计算设备260来应对。受信实体计算设备260首先验证:第三方是否被授权代表公司域来发送电子邮件。该验证充当关于第三方电子邮件认证信息是否被授权添加到与公司域相关联的DNS记录264的电子邮件认证信息266的验证。如果授权被验证,则将第三方电子邮件认证信息添加到与公司域相关联的DNS记录264的电子邮件认证信息266。由接收方邮件服务器270执行的随后认证检查应当成功返回。
图4更详细地图示了根据一个实施例的公司计算资源250。如上所提及,公司计算资源250包括公司用户设备253和公司服务器252。公司用户设备253是公司中的人类用户使用的计算设备。例如,取决于实现方式,公司用户设备253可以是个人计算机、膝上型计算机、移动设备等。公司用户设备253包括用于执行或控制公司用户设备253的操作的处理器346、以及相关联的存储器344。处理器346可以由执行存储在存储器344中的指令的一个或多个处理器来实现。替代地,可以使用诸如专用集成电路(ASIC)、图形处理单元(GPU)或编程现场可编程门阵列(FPGA)之类的专用电路来实现处理器346中的一些或全部。公司用户设备253进一步包括网络接口348,用以通过网络来执行通信(传输/接收),例如与第三方计算设备256进行通信。网络接口348的结构将取决于公司用户设备253如何与网络进行对接。例如,如果公司用户设备253是移动电话或平板设备,则网络接口348可以包括具有天线的发射器/接收器,用以通过网络来发送和接收无线传输。如果公司用户设备253是利用网络线缆连接到网络的个人计算机,则网络接口348可以包括网络接口卡(NIC)、和/或计算机端口(例如,插头或线缆所连接到的物理插座)、和/或网络套接口等等。公司用户设备253进一步包括用户接口347,以允许人类用户与公司用户设备253进行对接。例如,用户接口347可以包括显示屏(其可以是触摸屏)和/或键盘和/或鼠标。
公司服务器252包括用于执行或控制公司服务器252的操作的处理器304、以及相关联的存储器302。处理器304可以由执行存储在存储器302中的指令的一个或多个处理器来实现。替代地,可以使用诸如FPGA、GPU或ASIC之类的专用电路来实现处理器304中的一些或全部。公司服务器252的存储器302可以存储一个或多个文件,所述一个或多个文件列出了公司所拥有的域,可能包括由第三方代表公司使用中的相关联的域。这些文件被存储为域许可306。公司服务器252进一步包括网络接口308,用以通过网络来执行通信(传输/接收),例如与受信实体计算设备260进行通信。网络接口308的结构是特定于实现方式的。例如,在一些实现方式中,网络接口308可以包括NIC和/或计算机端口(例如,插头或线缆所连接到的物理插座)和/或网络套接口等。
图5更详细地图示了根据一个实施例的第三方计算资源254。如上所提及,第三方计算资源254包括第三方计算设备256和外发邮件服务器258。第三方计算设备256包括用于执行或控制第三方计算设备256的操作的处理器314、以及相关联的存储器310。处理器314可以由执行存储在存储器310中的指令的一个或多个处理器来实现。替代地,可以使用诸如FPGA、GPU或ASIC之类的专用电路来实现处理器314中的一些或全部。在一个实现方式中,存储器310可以可选地包括认证令牌312,该认证令牌312以稍后解释的方式来使用。第三方计算设备256进一步包括网络接口316,用以通过网络来执行通信(传输/接收),例如与受信实体计算设备260进行通信。网络接口316的结构是特定于实现方式的。例如,在一些实现方式中,网络接口316可以包括NIC和/或计算机端口(例如,插头或线缆所连接到的物理插座)和/或网络套接口等。外发邮件服务器258包括用于执行或控制外发邮件服务器258的操作的处理器326、以及相关联的存储器324。处理器326可以由执行存储在存储器324中的指令的一个或多个处理器来实现。替代地,可以使用诸如FPGA、GPU或ASIC之类的专用电路来实现处理器326中的一些或全部。外发邮件服务器258进一步包括网络接口328,用以通过网络来执行通信(传输/接收),例如通过网络来传输外发电子邮件消息。网络接口328的结构是特定于实现方式的。例如,在一些实现方式中,网络接口328可以包括NIC和/或计算机端口(例如,插头或线缆所连接到的物理插座)和/或网络套接口等。
图6更详细地图示了根据一个实施例的受信实体计算设备260。受信实体计算设备260包括用于执行或控制受信实体计算设备260的操作的处理器320、以及相关联的存储器318。处理器320可以由执行存储在存储器318中的指令的一个或多个处理器来实现。替代地,可以使用诸如FPGA、GPU或ASIC之类的专用电路来实现处理器320中的一些或全部。受信实体计算设备260进一步包括网络接口322,用以通过网络来执行通信(传输/接收),例如以本文中解释的方式与第三方计算设备256、公司服务器252和DNS服务器262进行通信。网络接口322的结构是特定于实现方式的。例如,在一些实现方式中,网络接口322可以包括NIC和/或计算机端口(例如,插头或线缆所连接到的物理插座)和/或网络套接口等。在一些实施例中,受信实体计算设备260可以由服务器或其他计算节点/设备来实现,在这种情况下,处理器320还可以用于执行与受信实体无关的其他操作。
图7更详细地图示了根据一个实施例的DNS服务器262。DNS服务器262包括用于执行或控制DNS服务器262的操作的处理器340、以及相关联的存储器342。处理器340可以由执行存储在存储器342中的指令的一个或多个处理器来实现。替代地,可以使用诸如FPGA、GPU或ASIC之类的专用电路来实现处理器340中的一些或全部。存储器342存储与公司域相关联的DNS记录264。DNS记录264包含电子邮件认证信息266,电子邮件接收方使用该电子邮件认证信息266来认证从公司域接收到的电子邮件。DNS记录264进一步将受信实体计算设备260的网络位置存储在受信实体位置268中。DNS服务器262进一步包括网络接口338,用以通过网络来执行通信(传输/接收),例如从其他设备接收请求以及向其他设备发送信息。例如,DNS服务器262可以使用网络接口338来与接收方电子邮件服务器(诸如,接收方邮件服务器270)进行通信,以便向接收方电子邮件服务器提供存储在电子邮件认证信息266中的认证信息,该认证信息是对从公司域发送的电子邮件进行认证所必需的。网络接口338的结构是特定于实现方式的。例如,在一些实现方式中,网络接口338可以包括NIC和/或计算机端口(例如,插头或线缆所连接到的物理插座)和/或网络套接口等。
图8更详细地图示了根据一个实施例的接收方邮件服务器270。接收方邮件服务器270包括用于执行或控制接收方邮件服务器270的操作的处理器332、以及相关联的存储器330。处理器332可以由执行存储在存储器330中的指令的一个或多个处理器来实现。替代地,可以使用诸如FPGA、GPU或ASIC之类的专用电路来实现处理器332中的一些或全部。接收方邮件服务器270包括网络接口334,用以通过网络来执行通信(传输/接收),例如将接收到的电子邮件转发给用户272,与DNS服务器262进行通信以访问电子邮件认证信息266,以便认证从公司域接收到的电子邮件等等。网络接口334的结构是特定于实现方式的。例如,在一些实现方式中,网络接口334可以包括NIC和/或计算机端口(例如,插头或线缆所连接到的物理插座)和/或网络套接口等。
现在将解释示例方法。
第三方从事于代表公司来发送电子邮件。例如,第三方可以供应市场营销app,该市场营销app具有将市场营销电子邮件自动发送给公司的客户和联系人的能力。所述电子邮件是由第三方但是代表公司域而发送的。例如,该公司域可以是“domain.com”,并且由第三方发送的市场营销电子邮件来自“sales@domain.com”。
在一个示例中,公司处的人员使用公司用户设备253的用户接口347来输入要由第三方使用的公司域和/或公司电子邮件地址,并且公司用户设备253将该信息传输到第三方计算设备256。图9图示了根据一个实施例的用户接口347的示例。在图9的实施例中,假设了如下特定示例:公司在电子商务平台上销售产品,并且该电子商务平台支持第三方app的安装,使得管理员(例如,商家)可以直接通过管理员网页来向第三方发送信息。图9图示了管理员网页,其具有显示了特定于第三方的区段。假设第三方被称为“3PEcommerce”。输入框350允许用户输入与公司域相关联并且要由第三方使用的公司电子邮件地址(所图示的示例中的“sales@domain.com”和“marketing@domain.com”)。替代地,例如如果第三方app要在其末端处生成电子邮件的局部部分,则可以取而代之将公司域(例如“domain.com”)插入到输入框350中。
在图9的替代方案中,第三方可能与电子商务平台没有关联,并且图9中的用户界面可能取而代之是第三方的网站,用户使用公司用户设备253在因特网上导航到该第三方的网站。
一旦第三方具有要由第三方使用的公司域(例如,所图示的示例中的“domain.com”),第三方就需要将电子邮件认证信息添加到与公司域相关联的DNS记录264,使得从代表公司域的第三方发送的电子邮件可以由邮件接收方来认证。电子邮件认证的示例包括:由第三方用于发送电子邮件的服务器的IP地址和/或主机名(例如,用于SPF检查);和/或与将由第三方用于对电子邮件进行数字签名的DKIM私钥相对应的DKIM公钥。
第三方是不受信的,并且因此无法自己修改与公司域相关联的DNS记录264。取而代之,第三方需要向具有修改DNS记录264能力的受信实体发送其用于修改DNS记录264的请求。因此,第三方计算设备256首先与DNS服务器262相对应,以请求受信实体的网络位置。DNS服务器262检索受信实体的网络位置,在所说明的实施例中,该受信实体的网络位置被存储在与公司域相关联的DNS记录264中的受信实体位置268中。受信实体的检索到的网络位置被发送到第三方计算设备256。在所说明的实施例中,将假设检索到的网络位置是受信实体计算设备260的IP地址。
在替代实施例中,第三方可能已经知道受信实体的网络位置,在这种情况下,第三方计算设备256不需要与DNS服务器262相对应来请求受信实体的网络位置。如果第三方已经具有受信实体的网络位置(例如,因为第三方先前从DNS服务器262中检索到该网络位置,并且将该网络位置存储在第三方的本地存储器中),则在一些实施例中第三方可能需要执行验证协议,以确认受信实体的网络位置仍然有效并且尚未被改变。验证协议的示例可以包括:查询DNS服务器262以确认受信实体的网络位置仍然正确;和/或对网络位置执行签名验证(例如,新的网络位置可以对应于新的私钥/公钥对)等。
第三方计算设备256向受信实体计算设备260传输消息。该消息包括第三方所拥有的认证信息,第三方想要将该认证信息添加到与公司域相关联的DNS 264记录。认证信息的示例包括:由第三方用来代表公司域发送电子邮件的服务器的IP地址和/或主机名,该IP地址和/或主机名将被添加到针对该域的公司的SPF记录;和/或与第三方用于对代表公司域发送的电子邮件进行签名的DKIM私钥相对应的公钥。
受信实体计算设备260接收来自第三方的请求,并且作为响应向公司服务器252传输一消息,要求确认是否可以将第三方的电子邮件认证信息添加到与公司域相关联的DNS记录。该查询可以是间接的,例如通过查询公司是否已经授权第三方代表公司来发送电子邮件(对该问题的答案是对如下问题的答案:是否可以将第三方的电子邮件认证信息添加到与公司域相关联的DNS记录)。该消息可以包括第三方将使用的域和/或电子邮件地址。在一些实施例中,可以对该消息进行数字签名,以便对该消息源自于受信实体计算设备260进行认证。
作为响应,公司服务器252可以向公司用户设备253发送要求授权的消息。然后,可以将从公司用户设备253接收到的答复从公司服务器252传输到受信实体计算设备260。图10图示了根据一个实施例的可以在公司用户设备253的用户接口347上呈现的授权请求的示例。在图10的实施例中,假设了如下特定示例:公司在电子商务平台上销售产品,并且授权请求被呈现在管理员网页上。图10图示了在公司用户设备253上的用户接口347的显示屏上弹出的模式窗口352。用户确认第三方是否被授权代表公司域来发送电子邮件。用户可能被要求确认域(“domain.com”),或者如所图示那样可能甚至被要求确认将由第三方使用的该域的特定电子邮件地址(在所图示的示例中的“sales@domain.com”和“marketing@domain.com”)。如果给出了授权,则这被接受作为可以将第三方电子邮件认证信息添加到与公司域相关联的DNS记录的授权。
在替代实现方式中(不同于图10),例如如果公司不在电子商务平台上或者电子商务平台不支持适应授权请求的能力,则可以取而代之经由另一个路线(例如,以去往公司指定的电子邮件地址的电子邮件)来将该授权请求传输到公司用户设备。公司用户可以使用电子邮件来指示“接受”(例如,通过点击电子邮件中的网站链接或者通过对电子邮件进行回复),这导致消息被传输到受信实体设备,从而指示针对将第三方电子邮件认证信息添加到与公司域相关联的DNS记录而给出了授权。
在替代实施例中,取而代之,公司用户设备253可以向第三方提供令牌或授权的其他证明(例如,授权令牌312),该令牌或授权的其他证明(例如,授权令牌312)由第三方计算设备来存储,并且然后由第三方计算设备256直接发送给受信实体计算设备260,从而避免了对于受信实体计算设备260明确地针对授权来查询公司服务器252的需要。
假设从公司服务器252接收到了授权,则受信实体计算设备260将与公司域相关联的DNS记录264修改成包括从第三方接收到的电子邮件认证信息。受信实体计算设备260是受信的,并且具有对修改DNS记录264以改变/更新与公司域相关联的电子邮件认证信息266的许可,例如仅仅通过受信实体计算设备260向DNS服务器262发送请求来修改。在一些实施例中,对修改电子邮件认证信息266的请求可以由受信实体计算设备260进行数字签名,以对该请求源自于受信实体计算设备260进行认证。
随后,当由电子邮件接收方(例如,由接收方邮件服务器270)接收到第三方代表公司域发送的电子邮件时,电子邮件接收方可以使用作为电子邮件认证信息266的部分而存储在与公司域相关联的DNS记录264中的第三方认证信息来执行电子邮件认证。例如,如果由电子邮件接收方执行的电子邮件认证包括执行SPF检查,则SPF检查应当通过,这是因为第三方服务器的IP地址(或主机名)被存储在针对该域的公司SPF记录中。作为另一个示例,如果由电子邮件接收方执行的电子邮件认证包括执行DKIM签名验证,则该签名应当进行验证,这是因为第三方的对应公钥被包括在针对该域的公司DNS记录中,并且可以由电子邮件接收方从针对该域的公司DNS记录中检索到。
图11图示了根据一个实施例的用于对由第三方代表公司域发送的电子邮件消息进行认证的方法。
在步骤402处,第三方计算资源254的计算设备(例如,第三方计算设备256)从公司接收到域信息。域信息包括由第三方用于代表公司发送电子邮件的至少一个公司域。在一些实施例中,可以以将由第三方使用的公司域的一个或多个电子邮件地址的形式来提供域信息,但这不是必要的。例如,如果第三方要使用公司域“domain.com”,则域信息可以是“domain.com”和/或该域的任何电子邮件地址(例如“sales@domain.com”)。
一般地,域信息可以由第三方从公司用户设备253、和/或从公司服务器252、和/或从任何其他公司计算设备或中间计算设备来接收,和/或作为打印文档来接收,和/或口头地和/或以任何其他方式来接收。在一些实施例中,可以基于源自于公司用户输入的指示、或者基于由第三方的请求以自动化的方式来将域信息发送到第三方。图9图示了公司中的用户可以如何向第三方供应域信息的一个示例。
在步骤404处,第三方将所传输的域信息存储在存储器中,例如存储在第三方计算设备256的存储器310中。在步骤406处,第三方计算设备256向DNS服务器262发送请求,以检索保存在与公司域相关联的DNS记录264中的受信实体位置268。
在步骤408处,DNS服务器262针对受信实体位置268来搜索/查询DNS记录264,以获得受信实体计算设备260的IP地址。在一些实施例中,DNS服务器262可能必需将受信实体计算设备260的域或主机名转换成受信实体计算设备260的当前IP地址,并且可以存储该受信实体计算设备的当前IP地址以供将来参考(在这种情况下,如果IP地址已经更新或过期,则可能需要在将来使用时对其进行验证)。
在步骤410处,DNS服务器262将受信实体计算设备260的IP地址返回给第三方计算设备256。
在步骤412处,第三方计算设备256利用接收到的IP地址来向受信实体计算设备260发送消息。该消息包括以下各项:(1)公司域的指示;(2)要求受信实体计算设备260将公司DNS记录修改成包括第三方电子邮件认证信息的请求,该第三方电子邮件认证信息是接收方邮件服务器对第三方代表公司域发送的电子邮件消息进行验证所需要的;以及(3)相关电子邮件认证信息。例如,如果正在使用SPF,则可以在请求中将第三方外发邮件服务器258的(一个或多个)相关IP地址或(一个或多个)主机名发送到受信实体计算设备260。如果正在使用DKIM,则可以发送(一个或多个)正确的公共认证密钥和具有完全限定域名(FQDN)的选择器名称。如果取而代之地使用另一个电子邮件认证协议,则可以将针对该协议的相关电子邮件认证信息发送到受信实体计算设备260。还可以将其他域信息发送到受信实体计算设备260,所述其他域信息诸如是将由第三方使用的公司域和/或(一个或多个)公司电子邮件地址。
在步骤414处,受信实体计算设备260将受信实体计算设备260从第三方接收到的前述信息临时地存储在存储器中。
在步骤416处,受信实体计算设备260向公司(例如,向公司服务器252)传输请求,以确认第三方确实被授权使用公司域。该请求还可以可选地包括实际上由第三方使用的公司域电子邮件地址、可能地连同对那些特定电子邮件地址的授权使用的请求,例如就像图10中的情况。
在步骤418处,公司服务器252针对其域许可306来对其存储器进行搜索,并且对照该公司已经授权供第三方使用的内容的记录来交叉引用从受信实体计算设备260接收到的授权请求中的信息。替代地或附加地,公司服务器252可以将授权请求转发到公司用户设备253,例如如图10中的示例。
假设获得了授权,在步骤420处,公司服务器252将消息发送到受信实体计算设备260,从而确认是否可以将第三方认证信息写入到与公司域相关联的DNS记录264。在一些实施例中,可以例如使用公司服务器252的私钥来对授权消息进行加密,并且可以由受信实体计算设备260通过使用对应的公钥来对授权消息进行解密。
在步骤422处,受信实体计算设备260向DNS服务器262发送请求,以将第三方认证信息添加到与公司域相关联的DNS记录264内的电子邮件认证信息266。在一些实施例中,该请求可以由受信实体计算设备260进行加密和/或数字签名。
在步骤424处,DNS服务器262访问其存储器,并且将第三方认证信息存储在电子邮件认证信息266中。在步骤426处,DNS服务器262将该信息已经被添加到DNS记录264的确认返回到受信实体计算设备260。替代地,如果由于某种原因该信息不可以被添加到DNS记录264,则可以将失败通知返回到受信实体计算设备260。假设该信息被成功添加到DNS记录264,在步骤428处,受信实体计算设备260向第三方计算设备256转发:第三方电子邮件认证信息已经被成功添加到与公司域相关联的DNS记录264。确认消息还可以可选地被发送到公司服务器252,如步骤429处所示。
以下步骤序列在步骤402-429之后发生,并且可以在不重复步骤402-429的情况下被重复。在步骤430处,第三方外发邮件服务器258代表公司域来发送电子邮件消息。如果使用DKIM验证,则在步骤424中,外发邮件服务器258使用与添加到DNS记录264的公钥相对应的私钥来对电子邮件进行签名。接收方邮件服务器270接收到电子邮件,并且在步骤432处,接收方邮件服务器270向DNS服务器262查询对接收到的电子邮件进行认证所需的电子邮件认证信息。在步骤434处,DNS服务器262检查与公司域相关联的DNS记录264,并且从电子邮件认证信息266中检索相关认证信息。在步骤436处,DNS服务器262将相关电子邮件认证信息传输到接收方邮件服务器270,接收方邮件服务器270使用接收到的电子邮件认证来认证该电子邮件。如果电子邮件认证涉及SPF检查,则相关电子邮件认证信息是被授权从公司域发送电子邮件的(一个或多个)IP地址或(一个或多个)主机名的指示,其包括第三方外发邮件服务器258的IP地址(和/或主机名)。如果电子邮件认证涉及DKIM验证,则相关电子邮件认证信息是与第三方外发邮件服务器258用来对电子邮件消息进行数字签名的私钥相对应的公钥。
图12图示了根据另一个实施例的用于对由第三方代表公司域发送的电子邮件消息进行认证的方法。在图12中,公司将授权令牌312提供给第三方以加快验证。认证令牌312不一定是永久的,但是可以在一定持续时间之后到期。
图12的步骤402B、404B、406、408、410、412B和414B与图11的相应步骤402、404、406、408、410、412和414在具有以下修改的情况下是相同的。在步骤402B中,第三方从公司接收到的信息还包括认证令牌312。认证令牌312表示一条信息,该条信息可以由受信实体计算设备260用来对公司已经授权第三方代表公司域来发送电子邮件进行验证,该条信息充当可以将第三方电子邮件认证信息添加到与公司域相关联的DNS记录的授权。例如,认证令牌312可以是如下授权消息:该授权消息由公司进行数字签名,并且受信实体计算设备260可以使用与公司用于对该消息进行签名的私钥相对应的公钥来验证该授权消息。在步骤404B处还存储认证令牌312,并且在步骤412B处还将认证令牌312从第三方传输到受信实体计算设备260,并且在步骤414B处由受信实体计算设备260来存储该认证令牌312。
在步骤415处,受信实体计算设备260验证授权令牌312。如果验证成功,则不需要执行图11的步骤416、418和420。取而代之,图12的方法在步骤422处继续。执行图11的步骤422至436。
图13是根据一个实施例的用于从DNS记录中移除第三方电子邮件认证信息的方法。在步骤502处,公司计算资源250的计算设备(例如,公司服务器252)向受信实体计算设备260传输请求,以从DNS记录中移除第三方电子邮件认证信息。例如,该请求可以采用撤销第三方代表公司域来发送电子邮件的许可的请求的形式。响应于该请求,在步骤504处,受信实体设备260向DNS服务器262发送消息,从而请求DNS服务器262移除第三方电子邮件认证信息,该第三方电子邮件认证信息作为电子邮件认证信息266的部分被存储在与公司域相关联的DNS记录264中。在步骤506处,对电子邮件认证信息266进行编辑以移除第三方电子邮件认证信息(例如,IP地址、公钥、域、电子邮件地址、和/或与第三方相关联的其他认证信息)。在步骤508处,DNS服务器262向受信实体计算设备260发送如下确认:电子邮件认证信息266已经以所请求的方式被修改。在步骤510处,可以将该确认传递给公司服务器252和第三方计算设备256中的任一个或两者。
在一些实施例中,在步骤502处发送的移除第三方电子邮件认证信息的请求可以响应于电子商务平台中的改变(例如,删除了公司的电子商务平台上安装的第三方应用)而被发送、和/或通过源自于公司设备的用户的指示而被发送。
在图13的替代实施例中,公司可以不需要经过受信实体计算设备260,但是可能能够直接修改DNS记录。例如,公司服务器252可以直接向DNS服务器262发送消息,从而请求从与公司域相关联的DNS记录264中移除第三方电子邮件认证信息。
在一些实施例中,公司服务器252可以维护数据库,该数据库记录了公司与第三方具有的所有关系。当公司不再具有与第三方的关系时,可以更新数据库。在一些实施例中,在数据库中做出移除与第三方的关系的更新可以触发从DNS记录中移除该第三方电子邮件认证信息的请求。公司服务器252可以通过直接从DNS记录中移除第三方电子邮件认证信息、或通过经过受信实体以使第三方电子邮件认证信息被移除来按照该请求而行动。在一些实施例中,当从DNS记录中移除了第三方电子邮件认证信息时,于是这可以触发对数据库来移除或修改公司与该第三方之间的关系的更新。在一些实施例中,受信实体设备260可以存储公司与第三方之间的关系的记录、或关于哪些第三方被授权代表哪些公司来发送电子邮件的记录。当第三方电子邮件认证信息被添加到DNS记录中或从DNS记录中移除时,该记录可以被更新。
图14图示了图13的变型,其中第三方寻求从与公司域相关联的DNS记录264中移除其第三方电子邮件认证信息,例如如果第三方不再代表公司域来发送电子邮件的话。除了在步骤502B中请求来自第三方计算设备256而不是公司之外,步骤502B与图13的步骤502相同。步骤504-510与图13中的相同。
在一些实施例中,第三方可能希望修改或更新存储在与公司域相关联的DNS记录264上的第三方电子邮件认证信息。公司授予的许可(例如,在图11的步骤416-420中或经由认证令牌312)可以许可受信实体计算设备260根据第三方计算设备256的请求来更新电子邮件认证信息。例如,如果外发邮件服务器258的IP地址改变和/或由第三方使用的DKIM私钥改变,则第三方可以将经更新的信息发送给受信实体计算设备260,该受信实体计算设备260进而与DNS服务器262进行通信,以将更新应用于存储在DNS记录264中的电子邮件认证信息266。
图15图示了根据一个实施例的计算机实现的方法。该方法可以由计算设备来执行,所述计算设备例如诸如是第三方计算设备256的处理器314之类的处理器。在一些实施例中,该方法可以在代表域来发送电子邮件的平台上执行或由该平台来执行。例如,该平台可以包括第三方计算资源254。在一些实施例中,平台可以是不与电子商务平台相关联并且代表商家或公司来发送电子邮件的第三方平台。在一些实施例中,该平台可以是电子商务平台,例如如果电子商务平台代表商家或公司来发送电子邮件的话。
在步骤602处,接收至少一个消息。该至少一个消息标识了域。例如,该至少一个消息可以是或者包括当在图9中选择了“Apply”时被传输到第三方计算设备256的消息,在这种情况下,域由电子邮件地址的域部分(“domain.com”)来标识。然而,提供电子邮件地址不是必要的。在一些实施例中,该至少一个消息中的域的标识可以仅仅是域本身,而不是电子邮件地址的部分(例如,该消息可以是“请使用domain.com”)。在一些实施例中,域与商家或公司相关联,并且该至少一个消息是从由商家或公司使用的计算设备接收到的(例如,该至少一个消息是从公司用户设备253接收到的)。在一些实施例中,该至少一个消息用作将代表域来发送电子邮件的指示。
该至少一个消息的另一个示例是在图11的步骤402中发送的消息,该消息是由第三方计算资源254从公司计算资源250接收到的。
在步骤604处,将请求传输到受信实体计算设备。在一些实施例中,受信实体计算设备是被信任(例如,通过拥有或使用该域的公司)来修改存储在与该域相关联的DNS记录上的电子邮件认证信息的任何计算设备。该请求用于将电子邮件认证信息添加到与该域相关联的DNS记录。该请求包括:(i)电子邮件认证信息、以及可选地(ii)该域的指示。这样的请求的示例是图11中的步骤412,其中该请求从第三方计算资源254被发送到受信实体计算设备260。
在步骤606处,从受信实体计算设备接收响应。该响应指示电子邮件认证信息已经被添加到与该域相关联的DNS记录。步骤606的示例是在图11的步骤428处发送的确认。
在步骤608处,在接收到响应之后,指令电子邮件服务器从该域传输电子邮件。例如,第三方计算设备256的处理器314可以将指令发送到外发邮件服务器258。步骤608的另一个示例是第三方计算资源254指示在图11的步骤430处发送的电子邮件。注意,步骤608是可选的。
在一些实施例中,例如如果正在使用SPF,则电子邮件认证信息包括电子邮件服务器的IP地址和/或主机名。在一些实施例中,例如如果正在使用DKIM,则电子邮件认证信息附加地或替代地包括与电子邮件服务器使用的私钥相对应的公钥。
在一些实施例中,图15的方法进一步包括:向DNS服务器传输针对受信实体计算设备的网络位置信息的请求;以及从DNS服务器接收网络位置信息。示例是图11的步骤406和410。在一些实施例中,该网络位置信息然后被用于向受信实体计算设备传输用以将电子邮件认证信息添加到DNS记录的请求。在一些实施例中,网络位置信息包括受信实体计算设备的IP地址。
在一些实施例中,如上所讨论,该至少一个消息可以包括具有该域的电子邮件地址。在一些实施例中,可以通过电子邮件地址在该至少一个消息中标识该域。在一些实施例中,指令电子邮件服务器从该域传输电子邮件可以包括:指令电子邮件服务器从电子邮件地址来传输电子邮件(例如,可以指令外发邮件服务器258从“sales@domain.com”发送电子邮件,该“sales@domain.com”源自于图9的框350中的输入)。在一些实施例中,电子邮件地址的域是被传输到受信实体计算设备的域的指示。在一些实施例中,被传输到受信实体计算设备的请求包括电子邮件地址。
在一些实施例中,被传输到受信实体计算设备的请求进一步包括授权信息,该授权信息指示平台被授权代表该域来发送电子邮件。示例是关于图12描述的授权令牌。在一些实施例中,可以在该至少一个消息中接收授权信息。
上面关于图15描述的接收和传输步骤可以由网络接口来执行,该网络接口是用于通过网络来传输和接收通信的结构的示例。可以由发布指令的处理器来执行任何指令步骤(例如步骤608),该指令随后通过网络接口被传输。
图16图示了根据另一个实施例的计算机实现的方法。该方法可以由计算设备来执行,所述计算设备例如诸如是受信实体计算设备260的处理器320之类的处理器。
在步骤622处,接收用以将电子邮件认证信息添加到与域相关联的DNS记录的请求。该请求包括:(i)电子邮件认证信息、以及可选地(ii)该域的指示。这样的请求的示例是在图11的步骤412处由受信实体计算设备260接收到的请求。在一些实施例中,在步骤622处接收到的请求是从代表该域发送电子邮件的平台接收到的。如较早先所讨论,该平台可能是或者可能不是电子商务平台。
在步骤624处,将消息传输到与该域相关联的实体所使用的计算设备。该消息查询电子邮件认证信息是否被授权添加到与该域相关联的DNS记录。与该域相关联的实体的示例是拥有或使用该域的商家或公司。计算设备可以是公司计算资源250的部分,例如公司用户设备253。该消息的示例是在图11的步骤416处发送的消息。注意,如果存在该消息中询问的实际问题,则该实际问题是特定于实现方式的。例如,该消息可以直接和明确地询问“该方的电子邮件认证信息是否被授权添加到与该域相关联的DNS记录”,或者该问题可以是间接的但仍然指示该电子邮件认证信息是否被授权添加到DNS记录,例如“该方是否被授权使用您的公司域”或者“您是否授权该方使用'sales@domain.com'电子邮件地址”(如果其中任一项回答“是”,则将确认电子邮件认证信息已被授权添加到与该域相关联的DNS记录)。询问间接问题可能是更有益的,这是因为如果人类用户需要最终给出授权,则人类用户可能不理解电子邮件认证,而仅仅能理解与公司是否被授权使用该域或电子邮件地址有关的更简单的问题。
在步骤626处,从计算设备接收响应。该响应指示电子邮件认证信息被授权添加到与该域相关联的DNS记录。响应的示例是在图11的步骤420中发送的响应。
在步骤628处,在接收到响应之后,指令DNS服务器将电子邮件认证信息添加到与该域相关联的DNS记录。示例是在图11的步骤422处发送的请求。
在一些实施例中,在步骤622处接收到的请求包括将由平台使用来代表该域发送电子邮件的电子邮件地址(例如,图9和图10中的电子邮件“sales@domain.com”)。在一些实施例中,电子邮件地址也被包括在查询电子邮件认证信息是否被授权添加到DNS记录的消息中,例如如图10中的示例。在一些实施例中,在步骤626处接收到的响应还指示电子邮件地址被授权由该平台使用来代表该域发送电子邮件。在一些实施例中,在步骤622处接收到的请求中包括的电子邮件地址是该请求中的域的指示。
在一些实施例中,例如如果正在使用SPF,则电子邮件认证信息包括电子邮件服务器的IP地址和/或主机名。在一些实施例中,例如如果正在使用DKIM,则电子邮件认证信息附加地或替代地包括与电子邮件服务器使用的私钥相对应的公钥。
在一些实施例中,图16的方法进一步包括:向DNS服务器传输要被存储在与该域相关联的DNS记录中的网络位置信息。网络位置信息指示要在其处发送请求的网络中的位置。在一些实施例中,网络位置信息包括受信实体计算设备的IP地址。
在一些实施例中,与该域相关联的实体是商家或公司,并且计算设备由商家或公司来使用。
在一些实施例中,图16的方法进一步包括从DNS服务器接收电子邮件认证信息已经被添加到与该域相关联的DNS记录的指示。示例是图11的步骤426。
在一些实施例中,图16的方法进一步包括:向该平台传输电子邮件认证信息已经被添加到与该域相关联的DNS记录的指示。示例是图11的步骤428。
上面关于图16描述的接收和传输步骤可以由网络接口来执行,该网络接口是用于通过网络来传输和接收通信的结构的示例。可以由发布指令的处理器来执行任何指令步骤(例如,在步骤628处),该指令随后通过网络接口被传输。
在一些实施例中,提供了用于从DNS记录中移除第三方电子邮件认证信息(例如,如按照图13和图14中的示例)的方法。例如,在第一步骤中,可以将消息传输到计算设备。该计算设备将被称为受信实体计算设备。该消息包括从与域相关联的DNS记录中移除电子邮件认证信息的请求。域可以与公司相关联、属于公司和/或由公司来使用。可以从与公司相关联的计算设备或从与第三方相关联的计算设备来传输该消息。如果不再授权第三方代表公司来发送电子邮件,则可以传输该消息。作为响应,受信实体计算设备指令DNS服务器从与该域相关联的DNS记录中移除电子邮件认证信息。在一些实施例中,可以从DNS服务器接收回复,该回复指示电子邮件认证信息已经被成功移除。在一些实施例中,受信实体计算设备可以向请求移除该电子邮件认证信息的实体(公司设备或第三方计算设备)传输消息,以确认电子邮件认证信息已经被成功移除。
结论
尽管已经参考特定特征及其实施例描述了本发明,但是在不脱离本发明的情况下可以对本发明进行各种修改和组合。因此,说明书和附图仅被视为如由所附权利要求所限定的本发明的一些实施例的说明,并且被预期涵盖落入本发明范围内的任何和所有的修改、变型、组合或等同物。因此,尽管已经详细描述了本发明及其优点,但是在不脱离如由所附权利要求所限定的本发明的情况下,可以在本文中进行各种改变、替换和更改。此外,本申请的范围不意图被限制于说明书中所描述的过程、机器、制造、物质组成、手段、方法和步骤的特定实施例。如本领域普通技术人员将容易地从本发明的公开中领会到的,可以根据本发明来利用目前存在的或稍后将被开发的与本文中描述的对应实施例执行大体相同的功能或实现大体相同的结果的过程、机器、制造、物质组成、手段、方法或步骤。因此,所附权利要求意图将这样的过程、机器、制造、物质组成、手段、方法或步骤包括在其范围内。
此外,本文中例示的执行指令的任何模块、组件或设备可以包括或以其他方式有权访问非暂时性计算机/处理器可读存储介质或用于存储信息的介质,诸如计算机/处理器可读指令、数据结构、程序模块和/或其他数据。非暂时性计算机/处理器可读存储介质的示例的非穷举列表包括:盒式磁带、磁带、磁盘存储装置或其他磁存储设备、诸如光盘只读存储器(CD-ROM)之类的光盘、数字视频盘或数字多功能盘(DVD)、蓝光盘™或其他光学存储装置、以任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器或其他存储器技术。任何这样的非暂时性计算机/处理器存储介质都可以是设备的部分,或者对于该设备可访问或可连接到该设备。可以使用可以由这样的非暂时性计算机/处理器可读存储介质存储或以其他方式保持的计算机/处理器可读/可执行指令来实现本文中描述的任何应用或模块。

Claims (13)

1.一种用于代表域来发送电子邮件的计算机实现的方法,所述方法包括:
在平台(266)处接收(602)标识了所述域的至少一个消息;
从所述平台向受信实体计算设备(260)传输(604)请求以将所述平台(266)的电子邮件认证信息添加到与所述域相关联的域名系统DNS记录(264),所述请求包括:(i)所述平台的电子邮件认证信息(266)、以及(ii)所述域的指示,其中所述平台的电子邮件认证信息(266)使得能够认证代表所述域由所述平台发送的电子邮件;
从所述受信实体计算设备(260)向由与所述域相关联的实体使用的计算设备(250)传输消息,所述消息查询所述平台的电子邮件认证信息是否被授权被添加到与所述域相关联的DNS记录(264);
在所述受信实体计算设备(260)处从由与所述域相关联的所述实体使用的计算设备(250)接收响应,所述响应指示所述平台的电子邮件认证信息被授权被添加到与所述域相关联的DNS记录(264);
在所述平台处从所述受信实体计算设备(260)接收(606)响应,所述响应指示所述平台的电子邮件认证信息(266)已经被添加到与所述域相关联的DNS记录;
在接收到响应之后,由所述平台指令(608)所述平台的电子邮件服务器(258)从所述域传输电子邮件。
2.根据权利要求1所述的计算机实现的方法,其中所述电子邮件认证信息包括:电子邮件服务器(258)的IP地址和/或主机名、和/或与电子邮件服务器(258)所使用的私钥相对应的公钥。
3.根据权利要求1所述的计算机实现的方法,进一步包括:
向DNS服务器(262)传输针对受信实体计算设备(260)的网络位置信息的请求;以及
从DNS服务器(262)接收网络位置信息;
其中网络位置信息被用于向受信实体计算设备(260)传输请求,以将电子邮件认证信息(266)添加到DNS记录(264)。
4.根据权利要求3所述的计算机实现的方法,其中网络位置信息包括受信实体计算设备的IP地址。
5.根据权利要求1所述的计算机实现的方法,其中所述至少一个消息包括具有所述域的电子邮件地址,其中通过电子邮件地址来在所述至少一个消息中标识所述域,并且其中指令电子邮件服务器(258)从所述域传输电子邮件包括指令电子邮件服务器(258)从电子邮件地址传输电子邮件。
6.根据权利要求5所述的计算机实现的方法,其中电子邮件地址的域是被传输到受信实体计算设备(260)的域的指示。
7.根据权利要求5所述的计算机实现的方法,其中被传输到受信实体计算设备(260)的请求包括电子邮件地址。
8.根据权利要求1所述的计算机实现的方法,其中所述平台是电子商务平台。
9.根据权利要求1所述的计算机实现的方法,其中被传输到受信实体计算设备(260)的请求进一步包括授权信息,所述授权信息指示所述平台被授权代表所述域来发送电子邮件。
10.根据权利要求9所述的计算机实现的方法,其中在所述至少一个消息中接收授权信息。
11.根据权利要求1所述的计算机实现的方法,其中与所述域相关联的所述实体是商家或公司,其中所述至少一个消息是从商家或公司所使用的计算设备接收到的,并且其中所述至少一个消息用作将代表所述域来发送电子邮件的指示。
12.一种系统(202),所述系统包括:平台和受信实体计算设备;
所述平台被配置成接收标识了域的至少一个消息;
所述平台包括:存储器(310),被配置成存储所述域的标识;
所述平台和所述受信实体计算设备进一步被配置成执行根据任一前述权利要求所述的方法。
13.一种计算机程序,当由多个计算机执行时,使得所述多个计算机执行根据权利要求1至11中任一项所述的方法的步骤。
CN202011028741.2A 2019-09-25 2020-09-25 促进对第三方发送的电子邮件进行认证的系统和方法 Active CN112565055B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16/582185 2019-09-25
US16/582,185 US11522859B2 (en) 2019-09-25 2019-09-25 Systems and methods for facilitating authentication of emails sent by 3rd parties
EP20188506.8 2020-07-30
EP20188506.8A EP3799401B1 (en) 2019-09-25 2020-07-30 Systems and methods for facilitating authentication of emails sent by 3rd parties

Publications (2)

Publication Number Publication Date
CN112565055A CN112565055A (zh) 2021-03-26
CN112565055B true CN112565055B (zh) 2024-05-14

Family

ID=71894618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011028741.2A Active CN112565055B (zh) 2019-09-25 2020-09-25 促进对第三方发送的电子邮件进行认证的系统和方法

Country Status (4)

Country Link
US (1) US11522859B2 (zh)
EP (1) EP3799401B1 (zh)
CN (1) CN112565055B (zh)
CA (1) CA3091489A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11522862B2 (en) 2019-09-25 2022-12-06 Shopify Inc. Systems and methods for a trusted entity to facilitate authentication of emails sent by 3rd parties
US11363060B2 (en) * 2019-10-24 2022-06-14 Microsoft Technology Licensing, Llc Email security in a multi-tenant email service
US12069095B2 (en) 2020-01-22 2024-08-20 Valimail Inc. Automated authentication and authorization in a communication system
IL294919A (en) 2020-01-22 2022-09-01 Valimail Inc Automatic authentication and authorization in a communication system
EP4094418A4 (en) 2020-01-22 2024-03-20 Valimail Inc. INTERACTION CONTROL LIST DETERMINATION AND DEVICE NEIGHBORHOOD AND CORRESPONDING TOPOGRAPHY
US11695745B2 (en) * 2020-12-01 2023-07-04 Valimail Inc. Automated DMARC device discovery and workflow
US11991139B2 (en) 2022-09-16 2024-05-21 Valimail Inc. Automated email protocol analyzer in a privacy-safe environment
CN118381660B (zh) * 2024-06-21 2024-08-20 湖南丰汇银佳科技股份有限公司 一种区域现金中心行为零信任体系构建方法与系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216587A1 (en) * 2004-03-25 2005-09-29 International Business Machines Corporation Establishing trust in an email client
US7987251B2 (en) * 2005-09-16 2011-07-26 Microsoft Corporation Validation of domain name control
US20080172468A1 (en) * 2007-01-15 2008-07-17 John Almeida Virtual email method for preventing delivery of unsolicited and undesired electronic messages
US8719900B2 (en) 2010-05-18 2014-05-06 Amazon Technologies, Inc. Validating updates to domain name system records
MA41502A (fr) * 2015-02-14 2017-12-19 Valimail Inc Validation centralisée d'expéditeurs d'email par ciblage de noms ehlo et d'adresses ip
US10447633B2 (en) 2015-09-25 2019-10-15 Amit Gupta Method and system for optimizing and preventing failure of sender policy framework (SPF) lookups
US11522862B2 (en) 2019-09-25 2022-12-06 Shopify Inc. Systems and methods for a trusted entity to facilitate authentication of emails sent by 3rd parties

Also Published As

Publication number Publication date
CN112565055A (zh) 2021-03-26
CA3091489A1 (en) 2021-03-25
EP3799401A1 (en) 2021-03-31
US11522859B2 (en) 2022-12-06
EP3799401B1 (en) 2023-08-30
US20210092118A1 (en) 2021-03-25

Similar Documents

Publication Publication Date Title
CN112565055B (zh) 促进对第三方发送的电子邮件进行认证的系统和方法
US12034855B2 (en) Systems and methods for tying token validity to a task executed in a computing system
CN112118116B (zh) 基于电子商务平台中的设置来推荐商家讨论组的系统和方法
CN115809871A (zh) 基于非同质化代币的商务属性
US11201738B2 (en) Systems and methods for associating a user with a task executed in a computing system
US12073399B2 (en) Systems and methods for blockchain network congestion-adaptive digital asset event handling
KR102671275B1 (ko) 애플리케이션 프로그래밍 인터페이스 상호 작용에 기반하여 계정 승인을 생성하기 위한 시스템 및 방법
US20220398572A1 (en) Systems and methods for controlling transfers of digital assets
US11893613B2 (en) Systems, manufacture, and methods for controlling access to resources
US20240338646A1 (en) Systems and methods for obtaining information from a digital message
CA3121059A1 (en) Systems and methods for user authentication
US20220020055A1 (en) Systems and methods for managing and controlling electronic messaging campaigns
US11522862B2 (en) Systems and methods for a trusted entity to facilitate authentication of emails sent by 3rd parties
US20230401571A1 (en) Maintaining blockchain state when performing non-blockchain commerce workflow
US12008573B2 (en) Computer-implemented systems and methods for detecting fraudulent activity
US20220198036A1 (en) Systems and methods for facilitating protecting recipient privacy
US20210279774A1 (en) Systems and methods for dynamic campaign engine
US20210090035A1 (en) System and method for transmitting data over authorized transmission channels
CA3098007C (en) System and method for merging accounts
US20220398568A1 (en) Methods and systems for authorizing devices in multiple domains

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant