tools.ietf.org/html/rfc822 собственно это наше все, уникальный заголовок письма описывается в 4.6.1. MESSAGE-ID / RESENT-MESSAGE-ID это нам и нужно. В вольном переводе:
Данный заголовок должен представлять из себя уникальную строку формируемую сервером при ее отсутствии либо клиентом (Бинго!!!). Смотри дальше видим заголовки
4.6.2. IN-REPLY-TO
4.6.3. REFERENCES
Конечно они опциональные, но таки нормальные клиенты их ставят (Бинго!!!)
А вот пример
using (var client = new SmtpClient())
using(var message = new MailMessage("test@ya.ru",model.To,model.Subject,model.Body))
{
int requestId = 1977;
var messageid = string.Format("<{0}_{1}>", Guid.NewGuid().ToString("D"), requestId);
message.Headers.Add("Message-ID", messageid);
client.Send(message);
}
Вам же в письме осталось сделать ссылку для перехода.
https://site.com/api/promote/45555-66666-888_1977
и на сервере обрабатывать этот переход, после же выставляя 301 статус для переадресации в нужный раздел