2015-09-16 9 views
0

Я разрабатываю веб-сайт с помощью ASP.net. Там я увольняю несколько писем пользователю. Probelem - все электронные письма группируются (Threading) Я хочу остановить это.Как установить X-Entity-Ref-ID на значение? (Что касается предотвращения распространения электронной почты)

Я нашел пост относительно этого на

Force emails not to be grouped into conversations

В там говорит

  • набор X-Entity-реф-ID заголовка (нет значения требуется). Это то, что делают уведомления Google+.

  • изменить адрес отправителя (вы можете использовать From: info [email protected]). Это то, что Facebook уведомления
    сделать.

Я не думаю, что вторая идея хорошая вещь. Но я хочу попробовать первое. Как это сделать? Где я могу найти этот атрибут?

ответ

0

Я использую пакет nuget Postal для отправки электронных писем в форматах html и text. Для этого есть файл заголовка электронной почты (холдинг «от» и «до»). Добавление X-Entity-Ref-ID: HeaderId, где HeaderId является ориентиром, к этому файлу (до параметров From: и To:). Дайте уникальное ссылочное значение 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 <[email protected]> 
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 .. 
}