使用 gmail api ios 回复邮件

Posted

技术标签:

【中文标题】使用 gmail api ios 回复邮件【英文标题】:Reply to a mail using gmail api ios 【发布时间】:2016-06-03 16:08:42 【问题描述】:

我正在开发一个邮箱应用程序,我正在尝试回复邮件。

我已经浏览了文档。

 GTLQueryGmail *query = [GTLQueryGmail queryForUsersMessagesSendWithUploadParameters:nil];
query.message = gtlGmailMessage; //parent message
[self.service executeQuery:query
                  delegate:self
         didFinishSelector:@selector(displayResult:finishedWithObject:error:)];

我需要知道我需要在 gtlGmailMessage 中进行哪些更改才能回复父邮件。

提前致谢。

【问题讨论】:

我已经浏览了文档,但是您找不到如何回复电子邮件? 没有针对 ios 的 GTLGmailQuery 类的特定文档。如果你找到了请告诉我 所以我需要创建一个具有相同线程 ID 的新 GTLGmailMessage,其有效负载包含发送者 ID 和接收者 ID 以及新正文。 【参考方案1】:

找到解决方案。

我们必须用原始字段做所有事情。

GTLQueryGmail *query = [GTLQueryGmail queryForUsersMessagesSendWithUploadParameters:nil];
NSString *strRaw = [NSString stringWithFormat:@"To:%@\nSubject:%@\nThreadId:%@\nReply-To:%@\n\n\n%@",strToBeRep,mail.subject,mail.threadId,strToBeRep,msgToBeSend];
NSData *messageBody = [strMessageBody dataUsingEncoding:NSUTF8StringEncoding];
GTLGmailMessage *message =[[GTLGmailMessage alloc]init];
query.userId = @"me";
NSString *base64Encoded = [messageBody base64EncodedStringWithOptions:0];

message.raw = base64Encoded;

message.snippet = @"sadfasdfasd dafvasdvas dafvasdv";
base64Encoded = [base64Encoded stringByReplacingOccurrencesOfString:@"/" withString:@"_"];
base64Encoded = [base64Encoded stringByReplacingOccurrencesOfString:@"+" withString:@"-"];
message.threadId = self.mail.mail.threadId;
query.message = message;

[self.service executeQuery:query
                  delegate:self
         didFinishSelector:@selector(displayResultForNewMessage:finishedWithObject:error:)];


- (void)displayResultForNewMessage:(GTLServiceTicket *)ticket finishedWithObject:(GTLGmailMessage *)emailsResponse error:(NSError *)error
    
if(!error)
    NSLog(@"Success");

【讨论】:

以上是关于使用 gmail api ios 回复邮件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Nodejs 中使用 gmail api 在同一对话中回复电子邮件

使用带有 Laravel PHP 的 Gmail Api 读取网站上的所有 gmail 收件箱,然后回复特定的电子邮件

使用Gmail别名将邮件回复链接到应用程序内容

如果我需要从gmail回复到我的php网站该怎么办?

MIME 标头无法通过 Gmail API

为啥对我的 SMTP 发送的 gmail 邮件的回复没有线程化?