2009-04-11 2 views
24

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

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

Спасибо.

ответ

31

MessageFramework on CocoaDev списки различных возможностей,

"Sending emails from Cocoa" также перечисляет несколько структур, в том числе Pantomime, MailCore и EdMessage (в site for this похоже, не работает, но есть mirror on github, который также был изменен для компиляции для 10.4, а также 10.5 - так что должен работать на iPhone)

Пример кода с использованием Pantomime м вышеупомянутых записей блог):

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

CWInternetAddress *address; 

address = [[CWInternetAddress alloc] initWithString:@"[email protected]"]; 
[message setFrom:address]; 
[address release]; 

address = [[CWInternetAddress alloc] initWithString:@"[email protected]"]; 
[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]; 
+0

Я хочу его без smtp, вы можете мне предложить .. – Rajneesh071

1

Вы также можете взглянуть на OmniGroup-х open source frameworks, в частности, в рамках OmniNetworking. Есть также множество других удивительных компонентов в других рамках, которые вы можете использовать.