新しい電子メールのリアルタイムIMAP通知探し
-
09-09-2019 - |
質問
私は、新しい電子メールのGmailの受信トレイを監視するための方法を探しています。しかし、私は数分おきにチェックを回避したいと私はリアルタイム通知のいくつかの並べ替えを探しています。私は、新しい電子メールがあると、Outlook(および他のIMAP支持クライアント)が瞬時に表示されていることに気付きましたが、残念ながらすべての.NET IMAPライブラリは、この機能が欠けているように見える。
誰がこの機能を持っているIMAPライブラリを知っていますか?または瞬時にいくつかの短周期のポーリングを行うことなく、新しいメッセージが通知されるために別の方法がありますか?
解決
あなたは IMAP IDLE に対処する必要があります。
これは、新しいメッセージが(悪い)一定のポーリングなしで、到着したときに通知されます。
<時間>非常に良い、商用の.NET IMAPライブラリは MailBee.Net <です/>。私はしばらく前に小規模なプロジェクトのためにそれを使用し、非常によく物事を処理し、で動作するようにかなり容易であるように思われました。他の人があるかもしれません - ちょうどIDLEコマンドまたはIDLEコマンドの処理を送信するためにあなたのライブラリーで検索すると、あなたはおそらく何かを見つけることができます。
。他のヒント
Mail.dllはIDLEサポートしています。 ここでは単純化されたサンプルがあります:
using (Imap client = new Imap())
{
client.ConnectSSL("imap.server.com");
client.Login("user@server.com", "password");
FolderStatus folderStatus = client.SelectInbox();
Console.WriteLine("Total message count: {0}",
folderStatus.MessageCount);
while(true)
{
FolderStatus currentStatus = client.Idle();
Console.WriteLine("Total message count: {0}",
currentStatus.MessageCount);
foreach(long uid in client.SearchFlag(Flag.Unseen))
{
IMail email = new MailBuilder().CreateFromEml(
client.GetHeadersByUID(uid));
Console.WriteLine(email.Subject);
}
}
client.Close();
}
http://www.lesnikowski.com/mail/:あなたはでMail.dllをダウンロードすることができますA>
また、サンプルのための私のブログををチェックしてください。
Mail.dllは、私が作成した商用製品であることに注意してください。
@Queops
ここで2つのオンラインウイルス対策スキャナからの報告があります:
VirusTotalは、シマンテック社のスキャナーを使用していることに注意してください。
/