如何在OS X Lion上获取用户邮件地址?

时间:2011-07-22 18:14:32

标签: cocoa macos osx-lion

我从Library / Preferences / com.apple.mail.plist获取用户邮件地址。他们在Lion中不再存在:P我是否必须使用脚本桥?任何提示?感谢

3 个答案:

答案 0 :(得分:4)

我会把它们从地址簿中删除。无论使用什么电子邮件应用程序,这都应该有效。

// Find 'me' card in address book.
ABPerson* meCard = [[ABAddressBook sharedAddressBook] me];
if( meCard == nil ) {
    NSLog( @"Could not find me!" );
    return;
}

// Get my email addresses.
ABMultiValue* anEmailList = [meCard valueForProperty:kABEmailProperty];
if( anEmailList == nil ) {
    NSLog( @"I have no email!" );
    return;
}

// Output them.
for( NSUInteger index = 0; index < [anEmailList count]; index++ ) {
    NSString* aLabel = [anEmailList labelAtIndex:index];
    NSString* aValue = [anEmailList valueAtIndex:index];
    NSLog( @"%@: %@", aLabel, aValue );
}

答案 1 :(得分:2)

Lion中的邮件存储等效于〜/ Library / Mail / V2 / MailData / Accounts.plist 。但是请注意,您假设用户使用的是Apple Mail程序,除非您真正需要这些程序,否则您可能希望获得其他方法来获取地址。例如,您可以根据系统的设置方式使用CSIdentity API,例如CSIdentityGetEmailAddress()。

答案 2 :(得分:0)

Apple脚本将完成工作。