问题标签 [mailcore2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
567 浏览

ios - Mailcore2 - 从特定日期开始搜索电子邮件

不确定这里是否有人具有 mailcore2 iOS IMAP 框架的经验。但我需要的是检索所有(或其中一些)电子邮件,这些电子邮件在特定日期之后发送。

mailcore2 是否提供此功能?我知道 IMAP 有这个,我猜 mailcore2 也会有。

0 投票
1 回答
246 浏览

objective-c - 如何跟踪 MailCore 操作

我正在尝试使用 构建一个 OS X 邮件客户端MailCore2,我需要知道当前正在运行哪些操作,以及它们处于什么状态——想想 Mail.app 活动监视器窗口。

我有一些可以在 API 中使用的东西:MCOIMAPSession对象有一个operationQueueRunningChangeBlock属性,但它只告诉我会话何时更改状态(运行 => 未运行),但这还不够。

现在我想我必须继承/包装这些来做我想做的事。

0 投票
1 回答
1294 浏览

ios - Mailcore 2 错误“此服务器的证书无效。” iOS

我尝试使用以下代码通过 IMAP 协议从我的公司电子邮件中获取邮件:

我得到错误:

我知道,我们的邮件是用域证书签名的,所以在域之外它是未经验证的证书。但几乎所有使用邮件(fe Mac Mail)的应用程序都有“继续”按钮,这允许跳过证书验证并使用邮箱。所以我感兴趣的是在 MailCore 2 中有没有可能做到这一点?如果是,我该怎么做?

顺便说一句,当我使用 MailCore 时,我没有这样的问题。

0 投票
2 回答
1659 浏览

ios - MailCore2,只获取未读消息,或者知道哪些是未读消息

我可以使用 获取所有消息fetchMessagesByUIDOperationWithFolder:,但是,当某些消息未读、大多数已读且有些已加星标时,message.flags 全部返回 0。

我尝试过使用if ( message_.flags & MCOMessageFlagSeen ),但仍然所有标志都返回为0

查看消息是否为UNREAD的正确方法是什么?

0 投票
2 回答
8052 浏览

iphone - clang:错误没有这样的文件或目录:*/Debug-iphonesimulator/MailCore/MailCore

我在我的 ios 应用程序中使用 mailcore2 从我的设备上获取我的 gmail 帐户电子邮件。我已在 mailcore2 脚本中将 ios sdkversion 从 6.1 更改为 6.0,bcz 我正在尝试使用使用 ios sdkversion 6.0 的 iPhone 模拟器 6.0 编译和运行该应用程序。这样做我收到以下 clang 错误。

在尝试使用 iphone 模拟器 6.1(使用 ios sdk 6.1)编译和运行我的应用程序时,shell 脚本中的 ios sdk 版本没有变化,我收到以下错误:

准备资源

修补文件 lib/client.c

建筑工具

正确生成 makemd5i386

为 iPhoneOS 构建 - armv7

配置失败

命令 /bin/sh 失败,退出代码为 1

在过去的几天里,这些问题让我发疯了。需要你的帮助。

0 投票
2 回答
1193 浏览

ios - 从 UID 消息获取 MailCore2 中检索电子邮件序列号

查看 Mailcore 文档,我看到了一种通过使用电子邮件 UID 执行提取来检索电子邮件或电子邮件的序列号的方法。但是,在查看 Mailcore2 文档时,我看不到任何方法可以做到这一点。Mailcore2 中是否有一种我没有看到的方法,或者有一种方法可以让这些信息冒泡?我知道在命令行中是可能的,但我希望能够从我的 iOS 应用程序中访问它。

编辑:

这就是我寻找此功能的原因:

我们有一个原生 iOS 客户端,它一次获取 10 封最新的电子邮件并保存它们。此外,客户端将一次获取接下来的 10 封较旧的电子邮件并保存它们,以及它所见过的最低 UID (minUID)。

因此,我们需要能够持续获取服务器上存在的下 10 封客户端尚未存储或查看的旧电子邮件。(这就是挑战)。

最初,我们通过按 UID 以 10 组为一组来获取电子邮件,使用我们保存的 minUID 减 1 作为每次提取的起点,并在每次提取结束时更新我们的 minUID。但是,由于 UID 不一定是连续的,因此返回的电子邮件数量不一致,有时甚至为零。为了解决这个问题,我们认为(在每次获取接下来的 10 封较旧的电子邮件之前),使用我们存储的 minUID 获取电子邮件,检查其当前序列号,然后根据该序列获取接下来的 10 封较旧的电子邮件会很有帮助数字。

0 投票
0 回答
868 浏览

mailcore2 - Stuck in building Mailcore library

I am trying to build Mailcore library which I downloaded from below:

I followed each & every instructions given on below:

https://github.com/MailCore/mailcore2#installation

Even I also checked the below video to make sure all the things are correct:

http://www.youtube.com/watch?v=9fAo6oBzlQI

But I am stuck in building the library and using it. I am getting below error when I am going to compile/build the library

0 投票
2 回答
476 浏览

c - 如何解释 MCOIMAPMessage 上的 typedef 枚举属性

我的问题主要是关于如何解释 typedef 枚举,但这里是背景:

我正在使用 MailCore2,我试图弄清楚如何从我正在获取的单个电子邮件对象中读取标志。

我获取的每封 MCOIMAPMessage *电子邮件都有一个名为“标志”的属性。Flags 是 MCOMessageFlag 类型。当我查找 MCOMessageFlag 的定义时,我发现它是一个 typedef 枚举:

由于我不知道 typedef 枚举是如何真正工作的——尤其是这个带有 '= 1 << 8' 类型组件的枚举,我对如何阅读电子邮件的标志属性有点迷茫。

例如,我有一封在服务器上同时具有 MCOMessageFlagSeen 和 MCOMessageFlagFlagged 的​​电子邮件。我想从 email.flags 属性中找出获取的电子邮件是否有一个、两个或没有这些标志(如果可能的话)。但是,在调试器中,当我为具有上述两个标志的电子邮件打印“email.flags”时,我只返回数字 5。我看不出这与上面的 typedef 枚举定义有何关系。

最终,我想根据标志是否存在设置一个 BOOL 值。换句话说,我想做类似的事情:

当然这是行不通的,但这就是想法。谁能建议我如何完成这个和/或如何理解 typedef 枚举?

0 投票
1 回答
2394 浏览

ios - Google OAuth 登录错误:凭据无效

我有一个 iPad 应用程序,它允许用户使用 OAuth2 登录到他们的 Gmail 帐户。至此,登录过程和电子邮件获取成功。但是,当应用程序关闭并在(长时间)后重新打开时,会产生“无效凭据”错误,即使之前使用相同凭据的登录成功。

登录流程:1) 用户使用 OAuth 2 登录到 gmail。2) GTMOAuth2Authentication 对象提供的用户电子邮件地址和 oAuthToken 保存到核心数据中以供将来登录。3) IMAP 会话是使用保存的电子邮件地址和 OAuthToken 创建的。

这是相关代码

谷歌登录

使用 MailCore2 创建 IMAP 会话

再一次,上面的代码工作正常,除非应用程序有一段时间没有被使用过。我不确定是否需要刷新 OAuthToken,所以我尝试在启动应用程序时执行以下操作:

但我仍然得到同样的错误。我不知道为什么 OAuth 令牌停止工作或如何解决这个问题。由于用户能够保存多个帐户,我想知道是否需要将每个帐户的刷新令牌保存在核心数据中,并在访问令牌停止工作时使用它?

0 投票
2 回答
3524 浏览

ios - 通过 Mailcore 2 获取 Gmail:线程 ID、消息 ID 和 UID

我有一个 iPad 应用程序,它允许用户使用 Mailcore2 访问他们的 Gmail 帐户。我以为我了解了 Gmail 的线程 ID、邮件 ID 和 UID 之间的区别,直到我仔细查看了执行邮件获取操作时 Mailcore2 返回给我的内容。我希望有人能澄清我的困惑。

以下是我从 Gmail 文档中了解到的信息:

1) 线程 ID 将属于同一对话的消息(具有自己的消息 ID 和 UID)组合在一起

2) UID 是特定于消息的,并且仅对包含它的文件夹是唯一的

3) 消息 ID 特定于消息,并且在帐户的所有文件夹中是唯一的

我也在做以下假设:

1)一个线程有一个线程ID,是一个消息的集合。线程没有消息 ID 或 UID。

2)一条消息有一个消息ID、UID和线程ID(即使它是一个线程中唯一的消息)

3) 通过 UID 获取消息会获取 MESSAGES,其 UID 落在所请求的 UID 范围内。

4) 属于同一线程的消息会有不同的 UID 和消息 ID,但线程 ID 相同。

好的,所以假设上述内容是正确的,我认为在通过 UID 在 Mailcore2 中获取消息的典型过程中,我会收到一组电子邮件,并且从这些电子邮件中我可以查看它们的线程 ID,例如并重建线程在客户端。但是,我似乎收到了线程而不是电子邮件。此外,我得到的每个线程不一定包含其所有“子”消息。

例如,如果我的收件箱中有两个线程,每个线程包含五封邮件,Mailcore 会以 MCOIMAPMessages 的形式向我返回一个包含 2 个“电子邮件”的数组。并且每个“电子邮件”都有一个线程 ID、一个消息 ID 和一个 UID。所以我不确定如何访问这两个线程上包含的电子邮件。我看到有一个引用数组......但是检查这个对象并没有发现任何有用的东西。当我记录每个线程的内容时,我只得到部分内容——比如线程上 5 条消息中的 4 条。由于我不完全了解这一切是如何工作的,因此不确定这是 Mailcore 还是我的保存过程中的错误。

这是我获取消息的代码:

//创建获取操作以获取文件夹中的前(10)条消息(第一次获取通过序列号完成,后续获取通过UID完成

//执行抓取

显然,就我对 Gmail 或 Mailcore2 的理解而言,这里有些不对劲。如果有人能指出我的误解,我将不胜感激。