Открытая библиотека Какао / Какао-Touch POP3 / SMTP? - PullRequest
25 голосов
/ 12 апреля 2009

Я хочу написать пример приложения, говорящего на POP3 / SMTP-сервере. Вместо того, чтобы заново изобретать колесо с BSD-сокетами и вызовами типа CFNetwork, мне любопытно, есть ли в настоящее время какие-либо библиотеки с открытым исходным кодом, которые уже позаботились о грязной работе? Я пробовал гуглить без особой удачи.

Возможно, я упускаю кое-что, чтобы упростить это.

Спасибо.

Ответы [ 3 ]

31 голосов
/ 07 мая 2009

MessageFramework на CocoaDev перечисляет различные возможности,

"Отправка электронных писем из какао" также перечисляет несколько платформ, включая Pantomime , MailCore и EdMessage (кажется, сайт для этого сайта вниз, но на github есть зеркало , которое также было модифицировано для компиляции для 10.4 и 10.5 - так должно работать и на iPhone)

Пример кода с использованием Pantomime (из вышеприведенного блога):

CWMessage *message = [[CWMessage alloc] init];

CWInternetAddress *address;

address = [[CWInternetAddress alloc] initWithString:@"from@gmail.com"];
[message setFrom:address];
[address release];

address = [[CWInternetAddress alloc] initWithString:@"to@somewhere.com"];
[address setType:PantomimeToRecipient];
[message addRecipient:address];
[address release];

[message setSubject:@"test"];

[message setContentType: @"text/plain"];
[message setContentTransferEncoding: PantomimeEncodingNone];
[message setCharset: @"us-ascii"];

[message setContent: [@"This is a simple content." dataUsingEncoding: NSASCIIStringEncoding]];

smtp = [[CWSMTP alloc] initWithName:@"smtp.gmail.com" port:465];
[smtp setDelegate: self];
[smtp setMessage: message];
[message release];

ssl = YES;
mechanism = @"PLAIN";

[smtp connectInBackgroundAndNotify];
6 голосов
/ 12 апреля 2009

Вот один из них. Я сам не пробовал, но вы можете попробовать ...

http://code.google.com/p/skpsmtpmessage/

1 голос
/ 11 мая 2009

Вы также можете взглянуть на фреймворки с открытым исходным кодом OmniGroup , в частности фреймворк OmniNetworking. В их других фреймворках также есть множество других замечательных компонентов, которые вы могли бы рассмотреть.

...