Получать электронную почту в C#

Я хочу сделать программу с C#, что смог получать сообщения. Тот, которого я сделал, состоит в том, чтобы посылать сообщения или электронную почту и функционирует как в пультовом режиме работы, так и в Windows Forms.

Что я не нахожу коды, которые служила бы для того, чтобы получить электронная почта.

Я использую счет gmail. Ему нужно быть ясно включать вышеупомянутую безопасность или ты не сможешь посылать или получать электронную почту с твоими собственными программами.

Если шифруют любопытство какие-то посетители, я вручаю им исходный код в пультовом режиме работы для того, чтобы были посланы сами сообщения и попытались. Помни, что quier знать о POP3, чтобы получать сообщения, которые должны видеть, кто умеет делать, и что я функционировал.

Доступ мало безопасных приложений. https://myaccount.google.com/lesssecureapps

introducir la descripción de la imagen aquí

Исходный код C#:

 // Activar / desactivar Acceso de aplicaciones poco seguras en Google.
// https://myaccount.google.com/lesssecureapps

using System;
using System.Net.Mail;
using System.Text;
using System.Net;

namespace Enviar_e_mail_Consola_03_cs
{
    class Program
    {
        static void Main(string[] args)
        {
            string usuario, contraseña, destinatario, asunto, mensaje;

            // Título de la ventana.
            Console.Title = "Enviar e-mail con Consola C#";

            // Tamaño ventana consola.
            Console.WindowWidth = 80; // X. Ancho.
            Console.WindowHeight = 40; // Y. Alto.

            Console.WriteLine("\t\t----------------------------------------");
            Console.WriteLine("\t\t\tEnviar Correo Electrónico");
            Console.WriteLine("\t\t----------------------------------------");


            Console.WriteLine("\n");
            Console.Write("\t\tIngresar correo electrónico o mensaje: ");
            usuario = Console.ReadLine();
            Console.Write("\t\tIntroducir contraseña: ");
            contraseña = leerPassword();


            Console.Write("\t\tDestinatario: ");
            destinatario = Console.ReadLine();
            Console.Write("\t\tAsunto: ");
            asunto = Console.ReadLine();
            Console.Write("\t\tMensaje: ");
            mensaje = Console.ReadLine();

            MailMessage correo = new MailMessage(usuario, destinatario, asunto, mensaje);

            SmtpClient servidor = new SmtpClient("smtp.gmail.com");
            servidor.Port = 587;
            NetworkCredential credenciales = new NetworkCredential(usuario, contraseña);
            servidor.Credentials = credenciales;
            servidor.EnableSsl = true;

            try
            {
                Console.WriteLine("Enviando correo...");
                servidor.Send(correo);
                Console.WriteLine("\t\tCorreo enviado satisfactoriamente.");
                correo.Dispose();
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine("\t\tNo se ha enviado el correo.");
                Console.ReadKey();
            }
        }

        // A la hora de introducir la contraseña, se sustituye por asterístos (*) en pantalla.
        public static string leerPassword()
        {
            ConsoleKeyInfo cki;
            StringBuilder sb = new StringBuilder();

            do
            {
                cki = Console.ReadKey(true);
                if (cki.Key != ConsoleKey.Enter)
                {
                    sb.Append(cki.KeyChar);
                    Console.Write("*");
                }

                else
                    break;

            } while (true);
            Console.WriteLine();
            return sb.ToString();
        }
    }
}

Привет.

0
задан 16.05.2019, 21:52
2 ответа

Лучшее состоит в том, чтобы использовать компонент и для этого он ищет в nuget:

Mail.dll-.NET электронная почта component (IMAP, POP3, SMTP)

Tembien я рекомендую тебе использовать Ае.Нет Маиль. , что книжный магазин клиента POP/IMAP для C#.

Оба, состоят fГЎciles в том, чтобы использовать хорошо, только прочитай readme и немного ее documentaciГіn и ты будешь гением, asГ - не tendrГЎs, что изобретать колесо заново снова.

Удачи!

0
ответ дан 02.12.2019, 08:13
  • 1
    Спасибо. tendré в счете, если я не способен это делать без librerí схвати приходящие ученицы. – Meta 18.05.2019, 12:55

Я участвую в рыцарском турнире aquГ - объясняю, как делать формуляр контакта, чтобы получать почту

Формуляр Контакта с Рекапча Асп. Net

Добавляешь, что файл configuraciГіn, чтобы добавлять данные о почте (я рекомендую делать это в appconfig, если на будущее ты нуждаешься в том, чтобы изменить верительные грамоты, ты только изменяешь этот файл)

<appsettings>
<add key="To" value="TUCORREO@gmail.com">
</add></appsettings>
<system.net>
<mailsettings>
 <smtp>
   <network host="smtp.gmail.com" password="TUPASSWORD" username="TUCORREO@gmail.com" enablessl="true" port="587">
 </network></smtp>
</mailsettings>
</system.net>

Ты cГіdigo он остался бы немного asГ-:

   private void Enviar(string titulo, string nombre, string correo, string mensaje)

{{1111]

   if (Page.IsValid)
   {
       string to = ConfigurationManager.AppSettings["To"];
       MailMessage mail = new MailMessage();
       mail.To.Add(new MailAddress(to));
       mail.From = new MailAddress(correo, nombre);
       mail.Subject = titulo + " " + correo;
       mail.Body = mensaje + "\n\n" + nombre + "\n" + correo;

       SmtpClient smtp = new SmtpClient();
       smtp.Send(mail);


       lblaviso.Text = "Mensaje Enviado gracias por tomarse el tiempo de escribir...!";
   }
   else
   {          
       lblaviso.Text = "No has escrito correctamente el codigo de verificacion";

   }

}

0
ответ дан 02.12.2019, 08:13
  • 1
    Хорошие: Я это иду пытаться и отвечаю тебе. – Meta 18.05.2019, 12:54