我正在为iOS创建一个电子邮件客户端,在开始使用它之前,我想为它选择最好的架构。
例如,在第一阶段,我想要连接Gmail。我搜索并发现谷歌有一个现成的库,所以我可以连接库并获取我的电子邮件。
另一种方法是从我的网络服务器中的API获取电子邮件,然后从我的服务器获取这些电子邮件。
主要目的不仅仅是获取电子邮件,而是为了以后能够为其添加一些新的过滤或其他一些功能,可能是机器学习技术以实现更好的个性化等。
另外,我想支持多个电子邮件服务器(Gmail,Yahoo,Hotmail等)
您建议我选择从我自己的服务器或直接从电子邮件服务器获取?我也了解使用自己的服务器时的安全问题。
您的反馈意见对我很有帮助!提前谢谢!
答案 0 :(得分:0)
您不应该使用自己的服务器执行此任务。你根本就不需要它。它不太安全,我很确定,你的一些客户会不喜欢这样的事实,即你可以将邮件存储在你自己的服务器上。
如果要支持多个电子邮件服务器提供商,则应使用IMAP协议接收邮件,使用SMTP进行发送。此外,在某些情况下,您可以使用OAuth2作为身份验证方法,因此您无需要求用户在您的应用程序中输入其凭据。
我建议您使用一些开源库来处理IMAP和SMTP,因为自己实现这些协议可能很复杂。
答案 1 :(得分:0)
听起来和我的做法非常相似。我最近正在建造PickedMail,后端是重型人工智能。对于Google,您将要使用Oauth2并使用server_token传入您的服务器。
我为此创建了一个iOS框架,希望对您有所帮助。 https://github.com/Thywis/MultiAccountOauth
对于outlook,yahoo,iCloud等其他人,我建议暂时使用IMAP。