2009-03-12 20 views
14

Tengo una aplicación .Net. Quiero que esta aplicación me envíe un correo electrónico. ¿Cómo implemento esto sin instalar un servidor SMTP?Envío de correo sin instalar un servidor SMTP

+0

Si necesita un código de ejemplo, aquí hay algunos que le muestran cómo enviar un correo electrónico utilizando el servicio SMTP de Gmail. http://gatekiller.co.uk/Post/Send_Emails_with_.NET_and_Gmail – GateKiller

+0

@GateKiller: Gracias por el enlace, lo agradezco – Germstorm

Respuesta

15

El uso de un SmtpClient para enviar un MailMessage no requiere que usted tenga un servidor en su máquina local.

Su proveedor de servicios de correo electrónico es el que tiene el servidor (por ejemplo, smtp.gmail.com), y su SmtpClient habla con él.

3

No puede enviar correos electrónicos sin los servicios de un servidor SMTP, por supuesto no es necesario que instale uno, simplemente señale el código en el servidor SMTP de su ISP o en el servidor Exchange de su empresa (o lo que sea que utilicen))

+0

Esta respuesta es engañosa. Es posible enviar un correo electrónico a un destinatario sin tener su propio servidor de correo. Conectándose al servidor identificado por el registro MX en el dominio de los destinatarios, y comunicándose directamente. – Brendan

+0

@Brendan: Creo que quizás me has malinterpretado. Dije "sin los servicios de __a__ servidor SMTP". Dice "comunicándose directamente" que es con el servidor al que se resuelve el registro MX para el dominio. Ese servidor es __a__ Servidor SMTP. ¿Cómo se comunica directamente con un servidor SMTP de destino? Si intenta hacerlo como cliente, es probable que se enoje (o al menos debería hacerlo) ya que usted no es uno de sus clientes. Podrías hablar con él como si fueras un compañero servidor SMTP pero eso es mucho trabajo. – AnthonyWJones

+2

Y la mayoría de los lugares sanos evitan esto, al bloquear el puerto de salida 25, como una medida de filtrado de correo no deseado. – tripleee

9

Este artículo de Peter Bromberg en eggheadcafe.com

C# SMTP Mail without SMTP Service or CDO

explica cómo enviar correo electrónico sin depender de un cliente SMTP:

envío de correo electrónico a través de TCP usando el nativo RFC SMTP comandos "HELO", "MAIL From", RCPT TO ", etc. no es gran cosa. Eso es uno de los primeros trucos que aprendemos con Telnet. Encontrar o escribir administrar d código que lo hará confiablemente es otra historia. El código de la clase que sigue no es mi código original - He adoquinadas juntos a partir de tres fuentes diferentes de la muestra , fijando espacios de nombres, manejo de errores, y otros artículos menores , cambiar el código de la consola para clase de código de la biblioteca, y proporcionar un completo de WinForce basado en Winforms front end que ilustra el uso correcto de .

También he incluido el código de muestra para procesar y agregar correctamente un archivo adjunto a través de un OpenFileDialog aquí. Este código MIME codifica y transmite el (los) accesorio (s) de acuerdo con la especificación .

+2

Esto todavía depende de que haya un servidor SMTP en el otro extremo; No estoy seguro de qué beneficio obtendrá al no usar SmtpClient y MailMessage ... –

+2

Ehm, siempre DEBE haber un servidor SMTP en el otro lado. Este ejemplo muestra el envío de correo utilizando el protocolo SMTP explícitamente en su código. – splattne

+0

@splattne: De acuerdo ... creo que podría ser interesante/divertido implementar el protocolo usted mismo;] –

Cuestiones relacionadas