Я хочу получить все электронные письма в моем приложении ASP.NET, которые имеют определенный CC-получатель. Чтобы использовать это для будущих электронных писем, я не хотел, чтобы все время опроса, чтобы получить их. Но я не могу найти способ, как я могу использовать push, чтобы получить электронные письма мгновенно. Их любые рамки в C #, чтобы помочь мне для этого?
Я хочу подключиться с моим приложением к почтовому серверу и зарегистрировать метод «X». Всегда, когда новое сообщение прибыло на почтовый сервер, мое приложение должно быть уведомлено, и мое приложение должно выполнять метод 'x'.
Я надеюсь, что это возможно с таким кодом:
void Application_Start()
{
...
ConnectWithTheSmtpServer();
RegisterMethodForNotification(DoSomethink);
...
}
void DoSomethink(Mail newMail)
{
// Do Somethink with the mail
}
Редактировать:
Я сделал это с помощью 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...
}