我正在尝试使用 Gmail API 对电子邮件执行简单的回复。
我收到以下错误:
Google.GoogleApiException: 'Google.Apis.Requests.RequestError
'原始' RFC822 有效负载消息字符串或通过 /upload/* URL 上传消息 [400]
错误 [
Message['raw' RFC822 有效负载消息字符串或通过 /upload/* URL 上传消息] Location[ - ] Reason[invalidArgument] Domain[global]
我的代码是:
var msg = service.Users.Messages.Get("me", labelItem.Id).Execute();//the original email
var toReceipients = GetReceipients(msg, "TO", out int toReceipientsCount);
var ccReceipients = GetReceipients(msg, "CC", out int ccReceipientsCount);
var bccReceipients = GetReceipients(msg, "BCC", out int bccReceipientsCount);
toReceipients.AddRange(ccReceipients);
toReceipients.AddRange(bccReceipients);
var result = string.Join(",", toReceipients);
Message newMsg = new Message();
MessagePartHeader toAddress = msg.Payload.Headers.FirstOrDefault(g => g.Name == "To");
MessagePartHeader fromAddress = msg.Payload.Headers.FirstOrDefault(g => g.Name == "From");
fromAddress.Value = toAddress.Value;
fromAddress.Value = "xxxxx@gmail.com";
toAddress.Value = result;
newMsg.Raw = msg.Raw;
newMsg.Payload = new MessagePart();
newMsg.Payload.Headers = new List<MessagePartHeader>();
newMsg.Payload.Headers.Add(toAddress);
newMsg.Payload.Headers.Add(fromAddress);
newMsg.Payload.MimeType = "text/plain";
MessagePartHeader Subject = msg.Payload.Headers.FirstOrDefault(g => g.Name == "Subject");
newMsg.Payload.Headers.Add(Subject);
//MessagePartHeader References = msg.Payload.Headers.FirstOrDefault(g => g.Name == "References");
MessagePartHeader MessageID = msg.Payload.Headers.FirstOrDefault(g => g.Name == "Message-ID");
newMsg.Payload.Headers.Add(MessageID);
// MessagePartHeader format = msg.Payload.Headers.FirstOrDefault(g => g.Name == "format");
// MessagePartHeader aaa = msg.Payload.Headers.FirstOrDefault(g => g.Name == "In-Reply-To");
msg.Payload = newMsg.Payload;
service.Users.Messages.Send(msg, "me").Execute();
有没有一种简单的方法来回复原始电子邮件?
是否有关于如何执行此任务的示例参考?