Quiero obtener todos los correos electrónicos en mi aplicación ASP.NET que tienen un determinado destinatario CC. Para usar esto para futuros correos electrónicos, no quería sondear todo el tiempo para obtenerlos. Pero no puedo encontrar la manera, cómo puedo usar push para obtener los correos instantáneamente. ¿Hay algún marco en C# que me ayude para esto?Notificar al cliente C#, cuando el servidor SMTP recibe un nuevo correo electrónico
Quiero conectar con mi aplicación a un servidor de correo y registrar un método 'X'. Siempre que llega un nuevo mensaje al servidor de correo, mi aplicación debe ser notificada y mi aplicación debe ejecutar el método 'X'.
espero que esto es posible con un código como éste:
void Application_Start()
{
...
ConnectWithTheSmtpServer();
RegisterMethodForNotification(DoSomethink);
...
}
void DoSomethink(Mail newMail)
{
// Do Somethink with the mail
}
EDIT:
lo hice con la MailSystem.Net. Funciona muy bien y es muy fácil de implementar.
Código de ejemplo:
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...
}
Si desea la funcionalidad de servidor push (empujar en tiempo real, notificaciones push) y que desea alojar uno mismo, entonces debería echar un vistazo a: * [WebSync] (http: //www.frozenmountain.com) * [XSockets] (http://xsockets.net) * [Pokin] (http://pokein.com/) Si no quieres instalar y administrar tu propio tiempo real infraestructura, entonces podrías mirar a [Pusher] (http://pusher.com), para quien trabajo. Puede usar nuestra [.NET library] (http://pusher.com/docs/rest_libraries#cs) y hacer una simple llamada a nuestra API REST, que luego enviaría el correo electrónico/notificación a cualquier cliente que esté escuchando.También vale la pena revisar mi [re – leggetter