兩個Objective-C的收發Email代碼

來源:互聯網
上載者:User

 http://www.cocoachina.com/macdev/cocoa/2009/0611/255.html

 

前些天有讀者提出需要在iPhone中開發Email的程式。在iPhone的SDK中除了使用mailto的方式發送郵件之外暫時還沒有其他更好的方法。

這裡介紹兩個基於Objective-C的Open Source的Email代碼,理論上來說經過微小的修改就可以用於iPhone中,不過需要注意的是請注意這兩個代碼的授權方式。

 

Pantomime

是一個用於開發郵件程式的完整架構,而且有相當多的基於Mac的傳統型程式都使用了這個架構。在功能方面,支援MIME編碼和解碼,完全支援IMAP和POP3協議,並支援本地郵件發送或使用遠程SMTP發送,支援SSL/TLS安全發送及內送郵件機制。

它的大部分代碼都是使用Objective-C寫成,只有一小部分需要效能的代碼用c寫成,另外它還使用了一點eml

代碼。它既可以用於Mac OSX,還可以在GNUStep下編譯。

Pantomime的使用非常簡單,而且下載包中也提供了完善的使用例子,僅僅使用很短的代碼就可以實現郵件的接收、發送以及密碼驗證等功能。

如果你希望開發一個完整的電子郵件程式,相信Pantomime是最好的選擇。在這裡

,版本為1.2.0pre3。

另外一個代碼的名字叫做MailCore Framework

,由Matt Ronge開發(感覺做Mac開發的人叫Matt的好多……)。同樣非常好用,也內建了兩個簡單清楚的例子。

用MailCore Framework發送郵件非常簡單:

 

  1. CTCoreMessage *
    testMsg =
    [
    [

    CTCoreMessage alloc

    ]

    init

    ]

    ;
  2. [

    testMsg setTo:
    [

    NSSet

    setWithObject

    :
    [

    CTCoreAddress addressWithName:
    @"Monkey"

    email:
    @"monkey@monkey.com"

    ]
    ]
    ]

    ;
  3. [

    testMsg setFrom:
    [

    NSSet

    setWithObject

    :
    [

    CTCoreAddress addressWithName:
    @"Someone"

    email:
    @"test@someone.com"

    ]
    ]
    ]

    ;
  4. [

    testMsg setBody:
    @"This is a test message!"

    ]

    ;
  5. [

    testMsg setSubject:
    @"This is a subject"

    ]

    ;

設定好之後就可以直接發送:

  1. CTSMTPConnection sendMessage:
    testMsg server

    :
    @"mail.test.com"

    username:
    @"test"

    password

    :
    @"test"

    port

    :
    25

    useTLS:
    YES

    shouldAuth:
    YES

    ]

    ;
  2. [

    testMsg release

    ]

    ;

需要注意的是MailCore並不支援多線程,另外MailCore將所有資訊都儲存在記憶體中,因此需要開發人員自己手寫儲存的代碼了。不過雖然如此,它還是一個非常簡單易用的郵件接收發送代碼,建議讀者下來看看。

MailCore的在這裡

,其中包括了文檔和例子。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.