Ответ в ту же тему с использованием Gmail APIC#

Место общения программистов C#
Ответить
Anonymous
 Ответ в ту же тему с использованием Gmail API

Сообщение Anonymous »

Я пытаюсь реализовать функцию ответа на ветку электронной почты с помощью API Gmail. Несмотря на мои усилия, ответы отправляются как новые сообщения, а не в цепочке исходного письма. Однако они отображаются в нужной цепочке в общем виде беседы.
Вот что я сделал на данный момент:
Установка идентификатора темы :

Код: Выделить всё

gmailMessage.ThreadId = threadId;
Добавление идентификатора сообщения электронной почты, на которое отвечаете:

Код: Выделить всё

mimeMessage.Headers.Add("In-Reply-To", msgId);

Код: Выделить всё

mimeMessage.Headers.Add("References", msgId);
Убедитесь, что тема одинакова:

Код: Выделить всё

mimeMessage.Subject = mailMsg.Subject
Несмотря на эти действия, пользовательский интерфейс Gmail по-прежнему отображает ответ как новое сообщение, хотя он записывается в той же цепочке внутри компании.
Фрагмент кода для справки:

Код: Выделить всё

private string AddThreadIdToMime(string base64RawMime, string threadId, string msgId)
{
var mimeMessage = MimeKit.MimeMessage.Load(new MemoryStream(Convert.FromBase64String(base64RawMime.Replace('-', '+').Replace('_', '/'))));
mimeMessage.Subject = originalSubject;

mimeMessage.Headers.Add("In-Reply-To", msgId);
mimeMessage.Headers.Add("References", msgId);

using (var memory = new MemoryStream())
{
mimeMessage.WriteTo(memory);
return Convert.ToBase64String(memory.ToArray())
.Replace('+', '-')
.Replace('/', '_')
.Replace("=", "");
}
}
Отправка сообщения:

Код: Выделить всё

  gmailMsg.Raw = rawMime;
gmailMsg.ThreadId = threadId;

UsersResource.MessagesResource.SendRequest msgSendReq = _gmailService.Users.Messages.Send(gmailMsg, userEmail);
gmailMsg = await msgSendReq.ExecuteAsync();
}
Вопрос:
Что мне не хватает? Требуются ли какие-либо дополнительные действия, чтобы убедиться, что ответ правильно отображается в пользовательском интерфейсе Gmail?
Спасибо за помощь!

Подробнее здесь: https://stackoverflow.com/questions/787 ... -gmail-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»