1. Utilice el software de envío proporcionado por outLook, como el software UFIDA U8 Manufacturing (versión de demostración) que he visto, en el que la función de correo electrónico se envía llamando al componente ActiveX de outLook Ventajas: Desarrollo simple Desventajas: Depender de. Componente de Outlook, servicio de correo SMTP
para enviar correos electrónicos. El código es el siguiente:
Private Sub Send().
Atenuar Obj como nuevo Outlook.Application()
Elemento atenuado como Outlook.MailItemClass
Artículo = outObj.CreateItem(0)
Artículo.To = "
[email protected] "
Artículo.Asunto = "hola"
Artículo.Cuerpo = "infierno"
Elemento.Attachments.Add("C:abc.txt")
Artículo.Enviar()
Fin de la
2. Desarrollo WEB, consulte System.Web.Mail en ASP.NET amable
El espacio de nombres System.Web.Mail contiene clases que le permiten construir y enviar mensajes utilizando el componente de mensajes CDOSYS (Collaboration Data Objects para Windows 2000). Los mensajes de correo se entregan a través del servicio de correo SMTP integrado en Microsoft Windows 2000 o mediante cualquier servidor SMTP. Las clases en este espacio de nombres se pueden usar en ASP.NET o cualquier aplicación administrada.
MailAttachment proporciona propiedades y métodos para crear archivos adjuntos de correo electrónico.
MailMessage proporciona propiedades y métodos para crear mensajes de correo electrónico.
SmtpMail proporciona propiedades y métodos para enviar mensajes utilizando el componente de mensajes Collaboration Data Objects (CDOSYS) de Windows 2000.
El correo se puede entregar a través del servicio de correo SMTP integrado en Microsoft Windows 2000 o mediante cualquier servidor SMTP. Los tipos del espacio de nombres System.Web.Mail se pueden utilizar en ASP.NET o en cualquier aplicación administrada.
Configuración del servidor Smtp Ahora algunos proveedores de correo electrónico gratuitos ya no brindan servicios Smtp para todos los correos electrónicos. Al enviar correos electrónicos, es necesario verificar la información del usuario. Si el servidor Smtp está en la computadora local, la velocidad de envío aumentará. sea muy rápido, básicamente no te preocupes. Si no es un servidor local, es mejor no usarlo demasiado al enviar. Uno es el problema de la velocidad y el otro es enviar demasiados correos electrónicos. Creo que es spam y el código de denegación de servicio es el siguiente:
Subbotón privado1_Click (remitente ByVal como System.Object, ByVal y como System.EventArgs) maneja Button1.Click
Atenuar mailObj como nuevo mensaje de correo()
Dim smtp como SmtpMail
'Definir el nombre del servidor SMTP
smtp.SmtpServer = "smtp.XXX.com"
'Definir la dirección de envío de correo electrónico
mailObj.From = "
[email protected] "
'Definir la dirección de recepción del correo electrónico
mailObj.To = "
[email protected] "
'Definir la dirección BCC del correo electrónico
mailObj.Bcc= "
[email protected] "
'Defina la dirección copia al carbón del correo electrónico
mailObj.Cc = "
[email protected] "
'Definir el asunto del correo electrónico
mailObj.Subject = "Asunto"
'Definir el cuerpo del correo electrónico
mailObj.Body = "¡Cuerpo del correo!"
'El correo electrónico se envía en formato HTML
mailObj.BodyFormat = MailFormat.Html
'Defina el nivel limitado de correo, configúrelo aquí en alto
mailObj.Priority = MailPriority.Alta
'Adjuntar un archivo adjunto al correo electrónico enviado
mailObj.Attachments.Add(Nuevo archivo adjunto de correo ("c:aa.doc"))
smTp.Enviar(correoObj)
End Sub
3. Utilice System.Net.Sockets para desarrollar aplicaciones de Windows en VB.NET o C#
También se basa en el protocolo SMTP 1. Introducción al protocolo SMTP
1. El cliente establece una conexión TCP/IP con el servidor a través del puerto 25 del servidor: 220 server.com Servicio simple de transferencia de correo listo
2. El cliente utiliza el comando "HELO" para identificar al cliente remitente: HELO server.com
Lado del servidor: 250 server.com
3. El cliente envía un comando CORREO y el servidor responde con OK para indicar que está listo para recibir al cliente: CORREO DE: <
[email protected] >
Lado del servidor: 250 OK
4. El cliente envía el comando RCPT para identificar al destinatario y el servidor responde si está dispuesto a aceptar el cliente de correo electrónico para el destinatario: RCPT A: <
[email protected] >
Lado del servidor: 250 OK
5. Una vez completada la negociación, utilice el comando DATOS para enviar al cliente de correo electrónico: DATOS
Lado del servidor: 354 Iniciar entrada de correo: terminar con <CRLF>.<CRLF>
6. El cliente finaliza el contenido de entrada con y lo envía al cliente: Asunto: <CRLF>.
Contenido<CRLF>
.<CRLF>
7. El cliente sale usando el comando SALIR.
Cliente: SALIR
Lado del servidor: 250 server.com cierra el canal de transmisión
Ventajas: puede desarrollar sus propios componentes sobre esta base. Usando Sockets, podemos desarrollar programación de red. Desventajas: la cantidad
de programa es relativamente grande. El código para enviar correos electrónicos es el siguiente.
Dim sendData como cadena
Atenuar szData como byte()
Atenuar CRLF como cadena
CRLF = "rn"
'Crear una conexión al puerto 25 del servidor
Atenuar SmtpServ como nuevo TcpClient (txtsmtp.Text, 25)
lstlog.Items.Clear()
'Mostrar información inicial del servidor
Atenuar NetStrm como NetworkStream
NetStrm = SmtpServ.GetStream()
Dim RdStrm como nuevo StreamReader(SmtpServ.GetStream())
Si RdStrm.ReadLine() <> "" Entonces lstlog.Items.Add(RdStrm.ReadLine())
'
sendData = "servidor HELO" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Longitud)
lstlog.Items.Add(RdStrm.ReadLine())
'Marcar remitente
sendData = "CORREO DE: " + "<" + txtfrom.Text + ">" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Longitud)
lstlog.Items.Add(RdStrm.ReadLine())
'Marcar destinatario
sendData = "RCPT A: " + "<" + txtTo.Text + ">" + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Longitud)
lstlog.Items.Add(RdStrm.ReadLine())
'Prepárese para enviar contenido
enviarDatos = "DATOS " + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Longitud)
lstlog.Items.Add(RdStrm.ReadLine())
'Enviar tema
sendData = "ASUNTO: " + txtsub.Texto + CRLF
'Enviar contenido
sendData = sendData + txtmsg.Text + CRLF
'Finalizar envío
enviarDatos = enviarDatos + "." + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Longitud)
lstlog.Items.Add(RdStrm.ReadLine())
'Salir
enviarDatos = "SALIR " + CRLF
szData = System.Text.Encoding.ASCII.GetBytes(sendData.ToCharArray())
NetStrm.Write(szData, 0, szData.Longitud)
lstlog.Items.Add(RdStrm.ReadLine())
'Cerrar la conexión
NetStrm.Cerrar()
RdStrm.Cerrar()
lstlog.Items.Add("Conexión cerrada")
lstlog.Items.Add("Enviado correctamente")
También puede consultar: Uso de C# para crear un componente de envío de correo electrónico (SMTP)
http://www.aspcool.com/lanmu/browse1.asp?ID=968&bbsuser=csharp 4. CDONTS, el componente de envío básico que viene con IIS SMTP
No es necesario descargarlo específicamente. Microsoft ya ha proporcionado este componente mientras esté instalado 2000, el SMTP de NT lo tendrá.
Ventajas: Los componentes los proporciona el sistema operativo. Desventajas: Funcionalidad deficiente y escalabilidad deficiente.
Mymail = CreateObject("CDONTS.NewMail").
Mymail.From = *** 'Buzón del remitente de la carta
Mymail.To = *** 'Buzón del destinatario de la carta
Micorreo.CC = *** 'Cc
Mymail.BCC = *** 'Enviar envío
Mymail.Subject = *** 'Asunto de la carta
Mymail.Body = *** 'Cuerpo de la carta
'Establezca la prioridad, 0-no importante, 1-general, 2-importante.
Micorreo.Importancia = 2
Micorreo.Enviar()
Mymail = Nada
5. Utilice el componente JMail
Jmail tiene las siguientes características:
(1) Se pueden enviar archivos adjuntos;
(2) La capacidad de registro detallado le permite verificar el problema;
(3) Establecer la prioridad del envío de correo electrónico;
(4) Admite el envío de correos electrónicos en múltiples formatos, como el envío de correos electrónicos en HTML o TXT. Este es un componente gratuito.
(5) La capacidad de enviar correos electrónicos ciegos/copias carbónicas (CC)/cartas urgentes;
(6) Lo más importante es que los componentes son gratuitos y no tienes que pagar por ellos, por lo que vale la pena usarlos.
Sitio web:
http://www.dimac.net/ , la versión actual es 4.3.
Atributos comunes de los componentes de JMail:
Cuerpo del correo electrónico
Registro de llamadas Registro de grabación para uso de depuración
Prioridad La prioridad del correo electrónico, de 1 a 5.
remitente remitente
ServerAddress Dirección IP o nombre del servidor SMTP
Métodos comunes del
componente JMail del título del correo electrónico del asunto
:
AddAttachment especifica el archivo adjunto
AddRecipient agrega un destinatario
AddRecipientBCC Copia oculta, conocida sólo por el remitente y los destinatarios de CCO.
AgregarDestinatarioCC CC
Después de que Execute envía el correo electrónico
y comprende los atributos y métodos necesarios, la parte restante recibe el correo electrónico ingresado por el usuario y lo pasa como parámetro al método AddRecipient, luego completa los atributos restantes según sea necesario y finalmente lo envía con Execute. método. Por ejemplo:
atenuar JMail
JMail = Servidor.CreateObject("JMail.SMTPMail")
JMail.Logging = Verdadero
JMail.ServerAddress = "202.96.144.48"
JMail.Sender = "
[email protected] "
JMail.Subject = "asunto."
JMail.Body = "cuerpo".
JMail.AddRecipient("
[email protected] ")
JMail.AddAttachment("c:go.gif")
JMail.Prioridad = 3
JMail.Ejecutar()
Resumen de JMail = Nothing
: la solución a elegir depende del propósito y las necesidades del programa. Este artículo proporciona varios ejemplos para su referencia. Por ejemplo, el software UFIDA U8 llama al componente Outlook y lo integra en su propio software. El sistema de gestión que escribí, escribí mis propios componentes (SMTP), es igualmente poderoso, ¡pero el tiempo de codificación es más largo!