2

1年前、ミッチェルセラーズは関連する質問をしました...

カスタムアプリケーション内でメールメッセージを送受信するためにGoogleIMAPにアクセスしたいと思います。

重要なのは、サードパーティのコントロールを使用したくないということです。

.Net Frameworkの新しいバージョンはIMAPをサポートしていますか?どのようなオプションがありますか?

4

3 に答える 3

1

以前は、C#および.NETに移植されたBorlandDelphi用のIndyコンポーネントがありました。

私の知る限り、これに対するネイティブサポートはありません。

于 2009-10-05T13:48:00.690 に答える
1

IMAPに対する.NETFrameworkのサポートはありません。サードパーティのコンポーネントを使用する必要があります。

Mail.dll電子メールコンポーネントを試してみてください、それは非常に手頃な価格で使いやすいです:

using(Imap imap = new Imap())
{
    imap.Connect("imapServer");
    imap.Login("user", "password");

    imap.SelectInbox();
    List<long> uids = imap.SearchFlag(Flag.Unseen);
    foreach (long uid in uids)
    {
        string eml = imap.GetMessageByUID(uid);
        IMail message = new MailBuilder()
            .CreateFromEml(eml);

        Console.WriteLine(message.Subject);
        Console.WriteLine(message.TextDataString);
    }
    imap.Close(true);
}

ここからダウンロードできます:http://www.lesnikowski.com/mail/

于 2009-10-06T07:58:56.383 に答える
-2

現在のバージョンの.NETにはIMAPのサポートはなく、フレームワークにそのようなサポートを追加する計画については聞いたことがありません。サードパーティのコンポーネントの1つを試す必要があります。

あなたは私たちのRebexセキュアメールをチェックすることができます。

Inbox次のコードは、フォルダからメッセージをダウンロードする方法を示しています。

// create client, connect and log in 
Imap client = new Imap();
client.Connect("imap.example.org");
client.Login("username", "password");

// select folder 
client.SelectFolder("Inbox");

// get message list 
ImapMessageCollection list = client.GetMessageList(ImapListFields.Fast);

if (list.Count == 0)
{
    Console.WriteLine("There are no messages in the mailbox.");
}
else 
{
    // download the first message 
    MailMessage message = client.GetMailMessage(list[0].SequenceNumber);
    ...
}

試用版はwww.rebex.net/secure-mail.net/からダウンロードできます。

このサイトと同様のエンジンで実行されるRebexQ&Aフォーラムもお楽しみいただけます。

于 2010-01-29T22:33:36.567 に答える