Espacio de tecnologia, software libre y sus derivados. Una horda de monos entrenados escriben de vez en cuando por aqui algunas noticias, opiniones e incluso alguna que otra cosa fuera del tema. Maqueros, favor de abstenerse que no somos lo suficientemente guapos.

Piano daemon

Mandando recordatorios Via Email con RUBY

require 'rubygems'
require 'net/smtp'
require 'postgres'

def send_email( config , to_email , subject , message )
	Net::SMTP.start( config['server_smtp'], config['smtp_port'], config['email_from'], config['smtp_user'], config['smtp_password'], :plain)  do |smtp|
		smtp.open_message_stream('eplauchu@plauchu.com', to_email ) do |f|
			f.puts 'From: ' + config['email_from']
			f.puts 'To: ' + to_email
			f.puts 'Subject: ' + subject
			f.puts message
		end
	end
end

def conection_psql( config )
	return conn = PGconn.connect(config['server_db'], config['db_port'], '', '', config['db'], config['db_user'], config['db_password'])
end

my_smtp_config = { "server_smtp" => "siteground246.com",
	      "smtp_port"        => "2525",
	      "smtp_user"        => "eplauchu@plauchu.com",
	      "smtp_password"    => "ktgxxxmty",
	      "email_from"	 => "carrito@plauchu.com"  }

my_pgsql_config  = { "server_db"      => "192.168.10.148",
		     "db_port"        => 5432,
		     "db"             => "xxxxx",
		     "db_user"        => "xxxxx",
		     "db_password"    => "xxxxx"  }

dias = "1"

#res  = conection_psql(my_pgsql_config).exec('select * from fn_clientes_para_recordatorio()')
sql_code = "SELECT clientes.nombre_pila || ' ' ||  clientes.apellido_paterno || ' ' ||  clientes.apellido_materno AS nombre_completo,
		       clientes.email , pedidos.numero_pedido
                       FROM clientes JOIN pedidos ON clientes.id = pedidos.id_cliente
                       WHERE clientes.activo = true AND pedidos.id_estatus_pedido = id_estatus_pedido
		       AND age(now(),pedidos.momento_creacion) >= ('" + dias + " day')::interval"

res  = conection_psql(my_pgsql_config).exec(sql_code)
res.each do |row|
	fecha   = Time.now.localtime.strftime("%Y-%m-%d")
	topico  = "tienda.com -- Recordatorio de Pago Pendiente(" + fecha + ")"
	mensaje = "El proposito de este correo, es enterarlo a usted Sr(a) " + row[0] + " que actualmente su pedido(" + row[2] + ") se encuentra pendiente de pago"
	send_email(my_smtp_config,row[1],topico,mensaje)
end

Comenta