Se utiliza autenticación básica. Básicamente, realiza una solicitud inicial, el servidor responde con 401 y luego devuelve la contraseña en base64 (en este caso a través de HTTPS).
Nota sin embargo que:
- La alimentación sólo se le permite obtener información trivial sobre la cuenta (por ejemplo, el correo nuevo). No te permite enviar mensajes.
- POP tampoco se puede utilizar para enviar mensajes.
- Normalmente se usa SMTP, y realmente no es tan difícil.
EDITAR: Aquí hay un ejemplo para autenticar y cargar la información de Atom en un XmlDocument. Sin embargo, tenga en cuenta que solo proporcionará acceso de lectura. Busque o haga otra pregunta para obtener información sobre C# y SMTP. La basura ICertificatePolicy fue necesaria para mí ya que a Mono no le gustó el certificado de Google. Es una solución rápida, no adecuada para producción.
De acuerdo, ya que ha aclarado que en realidad está leyendo el correo (y un componente diferente lo está enviando), le recomiendo que use POP. :
using System;
using System.Net;
using System.IO;
using System.Security.Cryptography.X509Certificates;
using System.Xml;
public class GmailFeed
{
private class IgnoreBadCerts : ICertificatePolicy
{
public bool CheckValidationResult (ServicePoint sp,
X509Certificate certificate,
WebRequest request,
int error)
{
return true;
}
}
public static void Main(string[] argv)
{
if(argv.Length != 2)
{
Console.Error.WriteLine("Usage: GmailFeed username password");
Environment.ExitCode = 1;
return;
}
ServicePointManager.CertificatePolicy = new IgnoreBadCerts();
NetworkCredential cred = new NetworkCredential();
cred.UserName = argv[0];
cred.Password = argv[1];
WebRequest req = WebRequest.Create("https://gmail.google.com/gmail/feed/atom");
req.Credentials = cred;
Stream resp = req.GetResponse().GetResponseStream();
XmlReader reader = XmlReader.Create(resp);
XmlDocument doc = new XmlDocument();
doc.Load(reader);
}
}
El código que he escrito debe funcionar de manera ideal, pero parece haber algún problema con el método de autenticación de Google, supongo. Parece que este tipo tiene el mismo problema: http://objectmix.com/xml-soap/336644-problem-reading-gmail-atom-feed-net.html – Kirtan