0

我正在使用 ASP.net 开发网站。在那里,我向用户发送了几封电子邮件。问题是所有电子邮件都在分组(线程)我想停止这个。

我发现了一个关于这个的帖子

强制不将电子邮件分组到对话中

里面说

  • 设置 X-Entity-Ref-ID 标头(不需要值)。这就是 Google+ 通知的作用。

  • 更改发件人电子邮件(您可以使用 From: info+randomstring@example.com)。这就是 Facebook 通知
    的作用。

我不认为第二个想法是一件好事。但我想尝试第一件事。怎么做?我在哪里可以找到这个属性?

4

1 回答 1

0

我正在使用 nuget 包 Postal 以 html 和文本格式发送电子邮件。为此,有一个电子邮件头文件(包含“发件人”和“收件人”信息)。将X-Entity-Ref-ID: HeaderIdHeaderId 为 guid 的位置添加到此文件(在From:andTo:参数之前)有效。给 X-Entity-Ref-ID 一个唯一的参考值,而不是没有值。

您可能不会使用 Postal,但这种方法也可能适用于其他包裹。

在控制器中:

var emailModel = new EmailModel()
{
   To = user.UserName, // user is your User entity
   // Text replacement to stop Gmail showing mailto tag
   UserName = user.UserName.Replace("@", "<span>@</span>").Replace(".", "<span>.</span>"),
   // HeaderId to insert a guid into X-Entity-Ref-ID header to prevent Gmail threading
   HeaderId = new Guid()
};

emailModel.Send();

然后,在电子邮件头文件中:

X-Entity-Ref-ID: @Model.HeaderId // This assigns a unique value
To: @Model.To
From: ThisCo <noreply@thisco.com>
Subject: The Email Subject
Views: Text, Html

EmailModel 定义为:

public class SignupLinkEmail : Email // inheriting from the nuget Postal Email class
{
    public string To { get; set; }
    public string UserName { get; set; }
    public Guid HeaderId { get; set; }
    // other things ..
}
于 2016-02-21T08:36:15.737 回答