¿Existe la manera de enviar e-mail desde tu PC con C#?

Iniciado por Meta, 28 Diciembre 2009, 21:45 PM

0 Miembros y 1 Visitante están viendo este tema.

Meta

¿Existe la manera de enviar e-mail desde tu PC con C#?

He logrado con una palicación que encontré y modifiqué bajo Visual C# Express 2010 Beta 2, enviar un mensaje o e-mail a gmail, lo que no me hace gracias del código que me pide autentificación o la contraseña de gmail.

¿Existe la forma de enviar e-mail desde mi ordenador a cualquier correo electrrónico directemente sin poner ninguna contraseña?

Saludo.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

raul338

Si se puede, implementa tu "servidor SMTP", pero al no ser "conocido" algunos lo tomaran como SPAM
IIS tiene un servidor SMTp, nose como funciona, pero teoricamente sirve para enviar mails desde ahi, y no necesitas contraseña (salvo q lo configures, claro)


O te pensas que existen los mails "no-responder@unaPaginaweb.com".... nop, estos son generados por sus propios servidores SMTP, que basicamente son pequeños programitas jeje

Meta

Es para mi mismo, ya que estoy controlando el puerto serie con un PIC y quiero que me llegue mensajes de alerta por gmail.

Ver pruebas.

Saludo.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

raul338

pues haz eso, Instala IIS y configura el servidor SMTP o instala algun servidor SMTP y bueno....lo demas supongo que ya lo sabes (el codigo no cambia, lo que cambia son los parametros :P)

Y en tu cuenta google marca el "correo" del que supuestamente mandas para que no lo detecte como spam

Meta

El que dices no me vale ya que el PIC 16F84A envía órdenes al puerto serie que detecta C#. He hecho un mini ejemplo y dejo el código.

Código (csharp) [Seleccionar]

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Net;       // No olvidar.
using System.Net.Mail;


namespace email
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }

       //Evento para cuando pulsamos el botón "enviar"
       private void button1_Click(object sender, EventArgs e)
       {
           //La cadena "servidor" es el servidor de correo que enviará tu mensaje
           string servidor = "smtp.gmail.com";
           // Crea el mensaje estableciendo quién lo manda y quién lo recibe
           MailMessage mensaje = new MailMessage(
              emisor.Text,
              receptor.Text,
              asunto.Text,
              mensajazo.Text);

           //Envía el mensaje.
           SmtpClient cliente = new SmtpClient(servidor);

               cliente.UseDefaultCredentials = false;
               cliente.Credentials = new System.Net.NetworkCredential(emisor.Text, "csfg@$gfdvs5v&vC&6765g74v654|¬#~6");
               cliente.Port = 587;
               cliente.Host = "smtp.gmail.com";
               cliente.EnableSsl = true;

           //Añade credenciales si el servidor lo requiere.
           //cliente.Credentials = CredentialCache.DefaultNetworkCredentials;
           cliente.Send(mensaje);
       }
   }
}

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

raul338

Cita de: Meta en 29 Diciembre 2009, 01:26 AM
Código (csharp) [Seleccionar]

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Net;       // No olvidar.
using System.Net.Mail;


namespace email
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //Evento para cuando pulsamos el botón "enviar"
        private void button1_Click(object sender, EventArgs e)
        {
            //La cadena "servidor" es el servidor de correo que enviará tu mensaje
            string servidor = "Localhost"; // Seria el de IIS
            // Crea el mensaje estableciendo quién lo manda y quién lo recibe
            MailMessage mensaje = new MailMessage(
               emisor.Text,
               receptor.Text,
               asunto.Text,
               mensajazo.Text);

            //Envía el mensaje.
            SmtpClient cliente = new SmtpClient(servidor);

                /* cliente.UseDefaultCredentials = false;
                *cliente.Credentials = new System.Net.NetworkCredential(emisor.Text, "csfg@$gfdvs5v&vC&6765g74v654|¬#~6");
                *cliente.Port = 587;
                *cliente.Host = "smtp.gmail.com";
                *cliente.EnableSsl = true;
                * Con IIS ya no va */
            //Añade credenciales si el servidor lo requiere.
            //cliente.Credentials = CredentialCache.DefaultNetworkCredentials;
            cliente.Send(mensaje);
        }
    }
}



Asi te deberia de andar, siempre y cuando tengas instalado y activado el SMTP del IIS

Citar
El que dices no me vale ya que el PIC 16F84A envía órdenes al puerto serie que detecta C#. He hecho un mini ejemplo y dejo el código.
el mail lo quieres enviar desde C# no? Entonces porque no sirve? cual es el problema?