Bueno, el caso es que estoy intentando hacer un programa que me avise constantemente de los correos sin leer que tengo en mi cuenta de Gmail. El problema que tengo es que no tengo ni idea de nada lo que viene siendo hacer peticiones a servers, ni protocolos, ni nada. Es mas, no se ni como plantear el codigo ni procedimiento ni nada.
Como no sabia, me puse a buscar en google y encontré un código que me funcionaba. que es el siguiente:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO.Ports;
using System.Threading;
using System.Net;
using System.Net.Mail;
using System.Xml;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
try
{
while (true)
{
string Unreadz = "0";
Unreadz = CheckMail();
Console.WriteLine("Unread Mails: " + Unreadz);
Thread.Sleep(10000);
}
}
catch (Exception ee)
{ Console.WriteLine("---> " + ee.Message); }
}
static private string CheckMail()
{
string result = "0";
try
{
var url = @"https://gmail.google.com/gmail/feed/atom";
var USER = "[email protected]";
var PASS = "passw";
var encoded = TextToBase64( USER + ":" + PASS );
var myWebRequest = HttpWebRequest.Create( url );
myWebRequest.Method = "POST";
myWebRequest.ContentLength = 0;
myWebRequest.Headers.Add( "Authorization", "Basic " + encoded );
var response = myWebRequest.GetResponse();
var stream = response.GetResponseStream();
XmlReader reader = XmlReader.Create( stream );
while ( reader.Read() )
if ( reader.NodeType == XmlNodeType.Element )
if ( reader.Name == "fullcount" ) {
result = reader.ReadElementContentAsString();
return result;
}
} catch ( Exception ee ) { Console.WriteLine( ee.Message ); }
return result;
}
public static string TextToBase64( string sAscii )
{
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
byte[] bytes = encoding.GetBytes( sAscii );
return System.Convert.ToBase64String( bytes, 0, bytes.Length );
}
}
}
El caso es que al ser un while (true), se ejecutará infinitamente. El codigo funciona bien hasta la tercera peticion, en la que casca y deja de funcionar lanzando un mensaje de error: "Se excedió el tiempo de espera de la operacion", y asi hasta que lo corte.
Decir que, todo lo que busque en inet, o no me servia ya que hay millones preguntando como enviar un correo, o utilizaba librerias de pago...
Bueno no se, si hay aqui algun gurú en este tipo de programas, que me pueda solventar el problema, o que me diga/muestre como atajar mi necesidad de otra forma.