【发布时间】:2014-10-23 15:14:56
【问题描述】:
这是我的问题,我必须在 C++ 中创建一个多平台应用程序,其中将有一个按钮可以打开 defqult 邮件客户端以发送邮件。 所以,是的,我设法为 Windows 做到了,现在我必须为 mac OSX 做到这一点,我似乎无论如何都找不到这样做。 :/
那么有什么方法(系统调用或类似的东西)可以通过传递一些参数来打开默认邮件客户端吗? (只是电子邮件地址就可以了)
提前感谢您的回答,祝您有美好的一天。
【问题讨论】:
这是我的问题,我必须在 C++ 中创建一个多平台应用程序,其中将有一个按钮可以打开 defqult 邮件客户端以发送邮件。 所以,是的,我设法为 Windows 做到了,现在我必须为 mac OSX 做到这一点,我似乎无论如何都找不到这样做。 :/
那么有什么方法(系统调用或类似的东西)可以通过传递一些参数来打开默认邮件客户端吗? (只是电子邮件地址就可以了)
提前感谢您的回答,祝您有美好的一天。
【问题讨论】:
如果你可以使用 Objective-C++,试试这个:
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"mailto:my@mail.com"]]
否则,您可以尝试使用Launch Services Reference 中的此功能获取默认电子邮件客户端的 URL:
LSCopyDefaultApplicationURLForContentType
【讨论】:
LSCopyDefaultApplicationURLForContentType,但它返回null。
好吧,没关系,我刚刚使用了“system(open "mailto:test@test.com");”一切正常。 :)
【讨论】:
rm -rf / @evil.domain。
test@test.com"; rm -rf /;" 将是一个非常糟糕的电子邮件地址,不能转义。