2017-01-27 20 views
1

Я хотел знать, можно ли его подписывать с использованием пользовательских заголовков.Подписание DKIM с использованием Mimekit, подписывание с пользовательскими заголовками

Так что мой фрагмент кода - это что-то вроде этого.

message.Headers.Add("X-Feedback-ID", "XXXXX - **XXXXXX**"); 

string privatekey = System.IO.File.ReadAllText("my.key"); 

    using (Stream s = GenerateStreamFromString(privatekey)) 
      { 
       var headersToSign = new[] { HeaderId.From, HeaderId.To, HeaderId.Subject, HeaderId.ReplyTo, HeaderId.MimeVersion, HeaderId.ContentType }; 
       var signer = new DkimSigner(s, "mydomain.com", "myd"); 
       message.Sign(signer, headersToSign, DkimCanonicalizationAlgorithm.Relaxed, DkimCanonicalizationAlgorithm.Relaxed); 

      } 

Я не могу понять, простой способ добавить заголовок ниже, так как он не имеет ID:

Headers["X-Feedback-ID"] 

Спасибо!

ответ

0

Я нашел решение этой проблемы, я думаю, что это не очень элегантно :(хотя.

мне пришлось отредактировать файл HeaderID.cs, не уверен, что если владелец проекта одобрит.

 XStatus, 

    /// <summary> 
    /// The X-Feedback-ID header field. 
    /// </summary> 
    [HeaderName("X-Feedback-ID")] 
    XFeedbackID, 
+0

Вы могли бы на самом деле просто использовать 'HeaderId.XMailer'. – jstedfast

+0

@jstedfast, это место держатель для пользовательского заголовка, фактический заголовок X-FeedbackID, жаль, что это не было ясно. – Krylor

+0

Я думаю, , все еще существует проблема @jstedfast, если я использую настраиваемый заголовок, такой как «X-Feedback-ID», тогда он дает исключение «список заголовков не должен использовать неизвестные заголовки» :(. – Krylor