特定のCC受信者を持つASP.NETアプリケーションですべての電子メールを取得したい。将来の電子メールにこれを使用するために、私はそれらを取得するために常にポーリングしたくなかった。しかし、私は方法を見つけることができません、どのように即座に電子メールを取得するためにプッシュを使用することができます。 C#のそれらのフレームワークは私にこれを手伝ってくれますか?SMTPサーバーが新しい電子メールを受信したときにC#クライアントに通知する
私のアプリケーションとメールサーバーを接続し、メソッド 'X'を登録したいとします。常に新しいメッセージがメールサーバーに到着したとき、私のアプリケーションに通知する必要があり、私のアプリケーションはメソッド 'X'を実行する必要があります。
私がこのようなコードを持つことが可能であることを願っています:
void Application_Start()
{
...
ConnectWithTheSmtpServer();
RegisterMethodForNotification(DoSomethink);
...
}
void DoSomethink(Mail newMail)
{
// Do Somethink with the mail
}
EDIT:
私はMailSystem.Netでそれをやりました。非常にうまく動作し、実装が非常に簡単です。
サンプルコード:
void Application_Start()
{
var worker = new BackgroundWorker();
worker.DoWork += new DoWorkEventHandler(StartIdleProcess);
if (worker.IsBusy)
worker.CancelAsync();
worker.RunWorkerAsync();
}
private void StartIdleProcess(object sender, DoWorkEventArgs e)
{
if (_imap != null && _imap.IsConnected)
{
_imap.StopIdle();
_imap.Disconnect();
}
_imap = new Imap4Client();
_imap.ConnectSsl(server-name, 993);
_imap.Login(username, passwort);
var inbox = _imap.SelectMailbox("INBOX");
_imap.NewMessageReceived += new NewMessageReceivedEventHandler(NewMessageReceived);
inbox.Subscribe();
_imap.StartIdle();
}
public static void NewMessageReceived(object source, NewMessageReceivedEventArgs e)
{
// Do something with the source...
}
を: //www.frozenmountain.com) * [XSockets](http://xsockets.net) * [Pokin](http://pokein.com/)自分のリアルタイムをインストールして管理したくないあなたが私のために働いている[Pusher](http://pusher.com)を見ることができます。私たちの[.NETライブラリ](http://pusher.com/docs/rest_libraries#cs)を使用してREST APIを簡単に呼び出すことができます.REST APIを使用すると、リッスンするすべてのクライアントに電子メール/通知を送信します。また、私のチェックアウトの価値があります[再 – leggetter