如何从 MFMailComposeViewController 获取电子邮件地址

Posted

技术标签:

【中文标题】如何从 MFMailComposeViewController 获取电子邮件地址【英文标题】:How to get email address from MFMailComposeViewController 【发布时间】:2010-11-24 13:13:25 【问题描述】:

应用程序正在发送使用 MFMailComposeViewController 的电子邮件,一切正常。但是,在发送电子邮件后,需要存储收件人地址以供进一步处理。据我所知,没有用于此的 API。

如何获取邮件发送到的电子邮件地址?

我应该子类 MFMailComposeViewController 并覆盖一些东西吗?那会是什么? 我可以通过查看 MFMailComposeViewController 视图层次结构找到电子邮件地址吗?我会在那里寻找什么?

还有其他想法吗?

【问题讨论】:

这也是我很想知道的。当然,您可以在应用程序的设置中添加一个电子邮件地址,并使用它来提供一个对用户有意义的电子邮件地址作为默认收件人,但这对我来说似乎并不优雅。 抱歉,很可能是不同的问题?提供默认值是没有问题的,但我需要知道真正使用的电子邮件地址。可以挖出一个,但不会更多。在那一点上停止了,因为感觉这可能是 AppStore 被拒绝的原因。 【参考方案1】:

想出了一个部分答案,这是详细信息:

http://jomnius.blogspot.com/2011/02/how-to-find-mfmailcomposeviewcontroller.html

问题:它会找到收件人电子邮件地址,但前提是该地址适合大约 35 个字符的文本字符串。否则,您只会找到像 "aaa@aaa.aa & 2 more..." 这样的摘要字符串。那么在这种情况下,实际的电子邮件地址在哪里?

【讨论】:

这对我不起作用,它总是返回 null 并且从不记录“FOUND”任何东西【参考方案2】:

作为替代 UI 流程——虽然我显然不了解你的应用,所以只有你知道这是否可行——你可以改为让用户在文本字段中输入收件人信息,然后推送邮件组合视图控制器(预先填写收件人)。

您甚至可以使用 Joe Michel 的 Multi-Recipient Picker library 的变体,让它感觉更像是本地收件人选择。

【讨论】:

电子邮件编辑器视图让我们用户更改收件人电子邮件地址,因此所有关于预填充、预请求、预先任何其他正常电子邮件编辑器视图的建议都只是......怎么说。 ..没有解决问题。如果您不能依赖解决方案,则不值得麻烦。但同意在某些情况下它可能已经足够好了。

以上是关于如何从 MFMailComposeViewController 获取电子邮件地址的主要内容,如果未能解决你的问题,请参考以下文章

如何从外部从 GitHub 加载 JavaScript 文件? [复制]

如何将数据从回收器适配器发送到片段 |如何从 recyclerview 适配器调用片段函数

如何从 Firebase 获取所有设备令牌?

如何直接从类调用从接口继承的方法?

如何从服务器获取和设置 android 中的 API(从服务器获取 int 值)?如何绑定和实现这个

如何从Mac从android studio中的fabric注销? [复制]