C#で(SSLを使用して)Imapサーバーにアクセスするための組み込みメソッドはありますか、それとも無料の優れたライブラリがありますか?
C#で(SSLを使用して)Imapサーバーにアクセスするための組み込みメソッドはありますか、それとも無料の優れたライブラリがありますか?
回答:
私はしばらくの間IMAPソリューションを探していましたが、かなりの数を試した後、AE.Net.Mailを使用します。
コードをダウンロードするには、[コード]タブに移動して小さな[ダウンロード]アイコンをクリックします。作成者はビルド済みのダウンロードを提供していないため、自分でコンパイルする必要があります。(ただし、NuGetを使用して取得できると思います)。bin /フォルダーに.dllはありません。
欠点はあると思いますが、ドキュメントはありませんが、ソースコードを見て(オープンソースの場合はうれしいです)、Intellisenseを使用することでこれを打ち立てることができました。以下のコードは、特にGmailのIMAPサーバーに接続します。
// Connect to the IMAP server. The 'true' parameter specifies to use SSL
// which is important (for Gmail at least)
ImapClient ic = new ImapClient("imap.gmail.com", "name@gmail.com", "pass",
ImapClient.AuthMethods.Login, 993, true);
// Select a mailbox. Case-insensitive
ic.SelectMailbox("INBOX");
Console.WriteLine(ic.GetMessageCount());
// Get the first *11* messages. 0 is the first message;
// and it also includes the 10th message, which is really the eleventh ;)
// MailMessage represents, well, a message in your mailbox
MailMessage[] mm = ic.GetMessages(0, 10);
foreach (MailMessage m in mm)
{
Console.WriteLine(m.Subject);
}
// Probably wiser to use a using statement
ic.Dispose();
Githubページをチェックアウトして、最新バージョンといくつかの優れたコード例を確認してください。
それがいくつかの人に役立つことを期待して、あなたはそれで私の行くをチェックしたいかもしれません:
.NET用の優れた、十分に文書化されたIMAPライブラリがいくつかありますが、商用利用はもちろんのこと、個人的に無料で利用できるものはありません...そして、私が見つけたほとんど放棄された無料の代替案に満足していませんでした。
S22.Imapは、IMAP IDLE通知、SSLおよび部分的なメッセージフェッチをサポートしています。ドキュメントを作成して最新の状態に保つように努力しました。なぜなら、私が見つけたプロジェクトでは、ドキュメントがまばらであるか、存在しないことが多かったからです。
ぜひお試しいただき、問題が発生した場合はお知らせください。
IMAPの.NET Frameworkサポートはありません。サードパーティのコンポーネントを使用する必要があります。
https://www.limilabs.com/mailをお試しください。非常に手頃な価格で使いやすく、SSLもサポートしています。
using(Imap imap = new Imap())
{
imap.ConnectSSL("imap.company.com");
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);
}
これは私が作成した商用製品であることに注意してください。
こちらからダウンロードできます:https : //www.limilabs.com/mail。
MailSystem.NETには、IMAP4の必要性がすべて含まれています。無料でオープンソースです。
(私はプロジェクトに関与しています)
ライブラリを使用してみてください:https : //imapx.codeplex.com/
そのライブラリは無料でオープンソースであり、この例を持っています:https : //imapx.codeplex.com/wikipage?title=Sample%20code%20for%20get%20messages%20from%20your%20inbox
私自身は試していませんが、これはあなたが試すことができる無料のライブラリです(このライブラリのSSL部分についてはよくわかりません)。
http://www.codeproject.com/KB/IP/imaplibrary.aspx
また、SSLのパラメーターを持つxemailもあります。
http://xemail-net.sourceforge.net/
[編集]あなた(またはクライアント)がプロのメールクライアントのお金を持っているなら、このスレッドはいくつかの良い推奨事項を持っています: