我正在尝试使用IMAP创建一个传入的邮件解析器,我意识到不同的邮件客户端以不同的格式(签名、引号等)发送邮件。因此,我想根据3个最常见的邮件客户端+默认的其他邮件来对邮件进行不同的解析。
我想知道如何从收到的电子邮件中提取邮件客户信息?
我试着查看原始标头,但似乎找不出发送的统一属性。我想我可以查看"from“地址(@gmail.com,@outlook.com)的主机,但这是不对的,因为GSuite邮件可以有自定义主机,但是仍然应该像@gmail.com那样解析。
有人有什么解决办法/想法吗?
编辑:
我根本看不清"from“地址,因为我对客户机/应用程序感兴趣--邮件是从发送的,因为这才是格式化的方式,而不是SMTP服务器。
发布于 2020-12-17 11:31:56
发件人地址或原始SMTP服务器与用于发送电子邮件的电子邮件客户端之间没有任何关系。(我有一个GMail帐户,但我发送的几乎所有电子邮件都使用MailMate桌面客户端,而不是GMail web应用程序)。
一些电子邮件将包含一个X-Mailer头,它将告诉您使用了什么电子邮件客户端。这是可选的,许多电子邮件将不包括它。
你没有太多的选择,只能采用一种启发式的方法,并试图匹配在电子邮件正文中表达引号的常见模式。
https://stackoverflow.com/questions/65339824
复制相似问题