【问题标题】:send email through a cocoa application通过可可应用程序发送电子邮件
【发布时间】:2009-10-25 01:55:51
【问题描述】:

有什么方法可以发送电子邮件,例如任何框架或其他东西。我尝试了一些(哑剧,邮件核心),但我无法让它们工作。因此,如果您知道任何框架/其他方法,或者您知道使用哑剧或邮件核心的优秀开源示例,我将不胜感激

【问题讨论】:

    标签: cocoa email


    【解决方案1】:

    Growl 的 MailMe 显示屏可以做到这一点。我们曾经使用 Message 框架,但它的公共 API 在 64 位转换中消失了,所以我们必须找到其他东西来使其 64 位干净。

    有一段时间(在开始测试周期之前),我们使用 Scripting Bridge 来告诉 Mail 发送消息。根据补丁作者的说法,这很有效,但它对 Mail 的依赖性非常强,我相信我们不使用 Mail 的用户不会喜欢它。

    我查看了哑剧、EDMessage 和 SKPSMTPMessage。每一个要么对我们的需求过于复杂(即,它是一个用于实现完整邮件客户端的框架),要么不能在 Mac OS X 上运行,要么两者兼而有之。

    我最终做的是编写一个 Python 脚本来使用 Python 的 smtplib 模块发送消息。 Here's the script,在 BSD 许可下。我们使用 NSTask 运行 python 解释器并将脚本提供给它,并使用 NSPipe 将密码和消息正文提供给脚本。您可以使用 --help 选项从命令行运行脚本以查看如何运行它。

    【讨论】:

    • 酷,你能给我一个使用那个脚本的例子吗?我以前从未使用过 NSPipe
    • 请参阅 GrowlMailMeDisplay 中的 displayNotification:code.google.com/p/growl/source/browse/Plugins/Displays/MailMe/… 请注意,我们从 Mail 的首选项中获取 SMTP 设置,但您可能应该拥有自己的 SMTP 设置 UI(我们将尽快我们的盘子里没有其他东西)。
    【解决方案2】:
    【解决方案3】:

    如果您要向用户的联系人发送消息,您可能需要效仿 Apple 的示例(如 iPhone 和 iWork 09 中所示)并通过 Mail.app 发送消息。

    【讨论】:

    • 这就是我现在所做的,但我的应用程序的用户讨厌它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 2016-11-21
    相关资源
    最近更新 更多