¿Finalización de la falsificación de correo?

-7

He creado el programa de correo electrónico más simple en C #.

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.Mail;

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

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                SmtpClient client = new SmtpClient(sendServer.Text);

                MailMessage message = new MailMessage(from.Text, to.Text);

                client.Port = System.Convert.ToInt32(port.Text);

                message.Subject = subj.Text;

                message.Body = contentBox.Text;

                client.Send(message);
            }
            catch (Exception ex)
            {
                MessageBox.Show("ERROR: " + ex.Message);
            }       

        }

    }
}

Cómo se ve en la práctica:

¿Por qué dice algo acerca de la autenticación? Estaba seguro de que SMTP no lo tiene y el problema de la falsificación del correo confirma este hecho.

El error es el mismo con todos los servidores SMTP, smtp.google.com solo fue un ejemplo.

¿Significa que ahora es imposible enviar correos electrónicos falsos o estoy equivocado?

    
pregunta 0x6B6F77616C74 12.07.2012 - 23:16
fuente

2 respuestas

2

La suplantación de correo electrónico es el acto de enviar un correo electrónico que parece haber venido de otra persona.

Cuando envío un correo electrónico, me conecto a un servidor SMTP y le digo a quién enviar, quién lo envía y qué enviar. El servidor SMTP puede requerir autenticación (si no lo hace, entonces se considera un retransmisión abierta y cualquiera puede enviar lo que quiera). Esta autenticación prueba que soy quien digo que soy para ese servidor SMTP en particular y nadie más . Si me conecto a un servidor SMTP de retransmisión abierta y le digo que envíe un correo electrónico, puedo indicarle a quién quiero que lo envíe. Así es como funciona la suplantación de identidad.

Hay formas de validar que un mensaje vino de alguien en particular, pero no hay una única solución ratificada en la que todos estén de acuerdo, y cada solución requiere distintos grados de configuración.

El error particular que está recibiendo es el resultado de no conectarse al puerto correcto y decirle que cifre la conexión (lo que realmente solo evita que las personas escuchen el mensaje). Además, asumo que Google requiere que los usuarios se autentiquen, por lo que los que envían desde el servidor SMTP de Gmails se verifican al menos como usuarios de Gmail. Si quisiera falsificar algo, no usaría un servidor que requiera autenticación.

    
respondido por el Steve 12.07.2012 - 23:57
fuente
1

¿Ha intentado enviar esto al puerto 25 * en lugar del puerto 587? El mensaje de error que está recibiendo parece indicar el problema: primero no está configurando una conexión TLS. Encriptar la conexión no evita el spam, solo hace que la transmisión de datos a la primera etapa del viaje del correo electrónico sea más segura.

* Tenga en cuenta que Gmail no usa el puerto 25. Tendrá que probar otro servidor SMTP.

    
respondido por el logicalscope 12.07.2012 - 23:29
fuente

Lea otras preguntas en las etiquetas