send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Libreria Net/SMTP (by sh4van3)

  • 0 Respuestas
  • 1133 Vistas

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

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5267
  • Actividad:
    46.67%
  • Reputación 26
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Febrero 24, 2010, 04:19:32 pm »
Hoy vamos a ver la librer?a Net/SMTP. Lo primero de todo, un poco de teor?a sacada de la Wikipedia:

Simple Mail Transfer Protocol (SMTP), o protocolo simple de transferencia de correo. Protocolo de red basado en texto utilizado para el intercambio de mensajes de correo electr?nico entre computadoras u otros dispositivos (PDA's, tel?fonos m?viles, etc.). Est? definido en el RFC 2821 y es un est?ndar oficial de Internet.
SMTP se basa en el modelo cliente-servidor, donde un cliente env?a un mensaje a uno o varios receptores. La comunicaci?n entre el cliente y el servidor consiste enteramente en l?neas de texto compuestas por caracteres ASCII. El tama?o m?ximo permitido para estas l?neas es de 1000 caracteres.


Ahora ya vamos a la pr?ctica. Gracias a esta librer?a podemos enviar mails por medio de un servidor SMTP a un nivel m?s alto que con sockets. Lo primero que tenemos que hacer es requerir la librer?a, y crear el objeto mediante el cual se va a realizar la conexi?n con nuestro servidor SMTP:
Código: You are not allowed to view links. Register or Login
require 'net/smtp' #Requerimos la librer?a SMTP
smtp=Net::SMTP.start('servidorsmtp', puerto, 'dominio', 'usuario@loquesea.com', 'contrase?a') # Creamos el objeto y establecemos la conexi?n con el servidor SMTP

Una vez tenemos creada la conexi?n, tenemos que preparar nuestro mensaje. Para ello creamos el mensaje:

Código: You are not allowed to view links. Register or Login
mail="From: Perico <pericode@lospalotes.com>\n To: destinatario <destinatario@mailhot.com>\n Subject: Asunto del mensaje\n Texto del mensaje\n" # Creamos nuestro mensaje y lo declaramos en la variable "mail"
Ahora s?lo queda mandar el mail. Para ello, una vez declarada la variable "mail" que es donde reside el mensaje, tenemos que enviarlo:
Código: You are not allowed to view links. Register or Login
smtp.send_message(mail, 'remitente@servidor.com', 'destinatario@servidor.com')#aplicamos a la variable smtp el m?todo "send_message".
Una vez mandado quedar?a cerrar la sesi?n. Para cerrar la sesi?n podemos hacerlo de dos formas:

1.- Si lo hemos hecho por variables (como lo he explicado yo hasta ahora):

Código: You are not allowed to view links. Register or Login
smtp.finish
2.- Si hemos utilizado un bloque, cerrar?a sesi?n autom?ticamente:

Código: You are not allowed to view links. Register or Login
Net::SMTP.start('servidorsmtp', puerto, 'dominio', 'usuario@loquesea.com', 'contrase?a') do |smtp|
smtp.send_message(mail, 'remitente@servidor.com', 'destinatario@servidor.com')
end

Ahora veamos dos ejemplos de env?o de mails:

Ejemplo 1 (sin bloque)
Código: You are not allowed to view links. Register or Login
require 'net/smtp'
mail="From: Perico <pericode@lospalotes.com>\n To: destinatario <destinatario@mailhot.com>\n Subject: Asunto del mensaje\n Texto del mensaje\n"
smtp=Net::SMTP.start('servidorsmtp', puerto, 'dominio', 'usuario@loquesea.com', 'contrase?a')
smtp.send_message(mail, 'remitente@servidor.com', 'destinatario@servidor.com')
smtp.finish

Ejemplo 2(con bloque)
Código: You are not allowed to view links. Register or Login
mail="From: Perico <pericode@lospalotes.com>\n To: destinatario <destinatario@mailhot.com>\n Subject: Asunto del mensaje\n Texto del mensaje\n
Net::SMTP.start('servidorsmtp', puerto, 'dominio', 'usuario@loquesea.com', 'contrase?a') do |smtp|
smtp.send_message(mail, 'remitente@servidor.com', 'destinatario@servidor.com')
end

Si crearamos un iterador, tendr?amos nuestro propio mail-bomber:P

Saludos!


 

¿Te gustó el post? COMPARTILO!



Instalar Rubygems y la Libreria Tk en Windows - by Bocvk

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1925
Último mensaje Febrero 24, 2010, 04:15:28 pm
por ANTRAX
RubyGame (Libreria para juegos)

Iniciado por Dharok

Respuestas: 0
Vistas: 1161
Último mensaje Febrero 23, 2010, 11:26:11 pm
por Dharok
MultiConsole (pequeña libreria) - by pRoTos

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1103
Último mensaje Febrero 24, 2010, 04:10:25 pm
por ANTRAX
Procesos en Ruby (by sh4van3)

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1202
Último mensaje Febrero 24, 2010, 04:17:51 pm
por ANTRAX
Hilos en Ruby (by sh4van3)

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1338
Último mensaje Febrero 24, 2010, 04:18:19 pm
por ANTRAX