Вот что я сделал на данный момент:
Установка идентификатора темы :
Код: Выделить всё
gmailMessage.ThreadId = threadId;
Код: Выделить всё
mimeMessage.Headers.Add("In-Reply-To", msgId);Код: Выделить всё
mimeMessage.Headers.Add("References", msgId);Код: Выделить всё
mimeMessage.Subject = mailMsg.Subject
Фрагмент кода для справки:
Код: Выделить всё
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
Мобильная версия