25

POP3/SMTP サーバーと通信するサンプル アプリケーションを作成しようとしています。BSD ソケットと CFNetwork タイプの呼び出しで車輪を再発明する代わりに、現在、すでに多くの汚れた作業を処理するオープン ソース ライブラリがあるかどうかに興味があります。私は何も運がなくてもグーグルを試しました。

おそらく、これを単純化するために見落としていることがあります。

ありがとう。

4

3 に答える 3

31

CocoaDev の MessageFramework には、さまざまな可能性がリストされています。

「Sending email from Cocoa」には、 PantomimeMailCore 、 EdMessageなど、いくつかのフレームワークもリストされています(このサイトはダウンしているようですが、github にミラーがあり、10.4 および 10.5 用にコンパイルするように変更されています - iPhoneでも動作するはずです)

パントマイムを使用したコード例 (上記のブログ投稿から):

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];
于 2009-05-06T22:02:24.417 に答える
6

これが1つです。私は自分で試したことはありませんが、試してみることができます...

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

于 2009-04-11T23:11:23.897 に答える
1

また、OmniGroup のオープン ソース フレームワーク、特に OmniNetworking フレームワークもご覧ください。他のフレームワークには、使用を検討できる素晴らしいコンポーネントが他にもたくさんあります。

于 2009-05-10T21:10:22.567 に答える