Enviar Emails por consola con sendmail

Este caso fue probado en Canaima y Ubuntu

1- Instalamos SendEmail:

apt-get install sendemail

2- Instalamos los siguientes paquetes necesarios para su correcto funcionamiento con GMail:

apt-get install libnet-ssleay-perl

apt-get install libio-socket-ssl-perl

Ahora ya estamos en condiciones de enviar nuestros correos. Para utilizar nuestra cuenta de GMail, escribimos en la consola:

sendemail -f nombrecuenta@gmail.com -t cuentadestino@isp.com -s smtp.gmail.com:587 -u \
"Asunto" -m "Cuerpo del mensaje" -a archivoadjunto -v -xu nombrecuenta -xp clavecuenta -o tls=yes

Donde:

nombrecuenta@gmail.com” es nuestra cuenta de GMail

cuentadestino@isp.com” es la cuenta a la que queremos enviar nuestro correo (si queremos enviar a varios destinatarios solo debemos dejar un espacio en blanco entre las direcciones de correo)

En “Asunto” va justamente el asunto del correo (si va entre comillas) y en “Cuerpo del mensaje” lo que queramos escribir (también entre comillas)

La opción -a va si queremos enviar un archivo adjunto

nombrecuenta” es el nombre de nuestra cuenta de GMail sin el @

clavecuenta” es nuestra clave de acceso a nuestra cuenta de GMail

Ahora bien ahora un pequeño script hecho en bash para enviar una lista de correos en txt

#!/bin/bash
# -*- ENCODING: UTF-8 -*-
i=0
while read line
do i=$(($i+1));
sendemail -f correo@gmail.com -t $line -s smtp.gmail.com:587 -u "TITULO" -m "CUERPO DEL MENSAJE" -v -xu nombredeusuariosinelaroba -xp contraseña -o tls=yes
done < "/home/direccion/correos"
echo "Final line count is: $i";


Fenriz

Fenriz: Venezolano - Ingeniero - Programador | C++ & PHP. Linux


11 comentarios en “Enviar Emails por consola con sendmail

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  1. Firefox 20.0Windows 7 x64 Edition
    Fabio.Felio

    ACTUALMENTE la mayoria de la gente JOVEN solo le presta atencion a la cuenta de FACEBOOK y alli estos llegan a la carpeta OTROS. Los CALL CENTERS son legales y los mas jodidos. El CELULAR y la cuenta de FACEBOOK son el objetivos de los neo spammers. Buen tuto, algo basico pero a alguno le servira…

    1/11
    • Firefox 20.0Windows 7 x64 Edition
      Fabio.Felio

      Recomiendo usar php + mysql + cron en algun server gratuito usando un proxy como la gente.

      Con esta base de datos de 3 columnas.
      ID(int,autoincrement,primarykey) | email (tinytext) | enviado(boolean)

      Simplemente se debe conseguir un email de la base de datos al que no le hayamos enviado todavia.

      Le enviamos el email, podemos usar el objeto de WP correspondiente para enviar email si estamos en wordpress en un plugin o bien la funcion mail de php.

      anotamos en la base de datos el envio a ese mail y salimos

      Ejecutandolo cada 3 minutos con una tarea planificada usando cron. Para no sobrecargar a los servidores, ni alertar a gmail o hotmail. Esto es lo mas importante…

      O bien, un script en javascript para el navegador usando greasemonkey/tampermonkey que se ejecute en su navegador en la pagina de gmail con su correo abierto. Pueden tambien usar una base de datos de mysql, si tienen un servidor http con mysql y php corriendo pueden realizar una peticion con “ajax” dentro del script y recibir el email. Luego cuando todo sea correcto enviar una peticion al servidor local informandole del envio para que anote.

      En fin, las posibilidades son ilimitadas. Lo unico, que no es practico por lo que aclare en mi primer mensaje, y es ilegal.

      2/11
      • Firefox 20.0Windows 7 x64 Edition
        Fabio.Felio

        O bien la legalidad depende de esto:

        http : / / en . wikipedia . org / wiki / CAN-SPAM_Act_of_2003

        3/11
  2. Bien, pero eso es mucho más útil si lo que quieres es hacer bulos en cadena y así satisfacer el espíritu lammer que tenemos dentro.

    En fin, gracias por el tip.

    4/11
  3. Firefox 20.0Ubuntu x64
    arianfornaris

    Hola, artículo muy interesante. Estoy desarrollando un program que envia ciertos logs a una cuenta de correo pero hay miles de correos que se deben enviar, pues el dicho log es bastante viejo y extenso. Como me conecto poco a internet, la cosa demora. Entonces tengo las siguientes dudas:

    1- ¿Sendmail es más rápido que el módulo smtp de python?
    2- ¿Cómo utilizar una misma sesión (no sé si sesión es la palabra más adecuada) para enviar varios correos?
    3- ¿Es posible alguna forma de que sendmail reporte un progreso?
    4- No tengo idea si smtp implementa algún tipo de compresión de datos, de forma que el volumen de datos a enviar se reduzca drásticamente pues los logs son texto plano.

    Saludos
    Arian Fornaris

    5/11
  4. todo muy interesante pero como puedo proteger mi servidor de correo para que no acepte enviar correos si no tienes un usuario en el servidor o si no se envia de una direccion local.

    gracias.

    6/11
  5. hola muy bueno el script pero al ejecutarlo me aparece este error vos podrias ayudarme a solucionarlo

    7/11
  6. Aug 20 15:27:29 pablo-hp-envy-15-notebook-pc sendemail[2841]: DEBUG => Connecting to smtp@gmail.com:587
    Aug 20 15:27:32 pablo-hp-envy-15-notebook-pc sendemail[2841]: ERROR => Connection attempt to smtp@gmail.com:587 failed: IO::Socket::INET6: getaddrinfo: Error del sistema
    Aug 20 15:27:32 pablo-hp-envy-15-notebook-pc sendemail[2841]: HINT => Try specifying a different mail relay with the -s option.
    final line count is: 1

    8/11
  7. Gracias es lo que buscaba.

    9/11
  8. funcionara con otro correo pop3

    10/11
  9. Maxthon 1.0.3.10GNU/Linux
    Marcos Alexis

    Como lo configuro para usarlo con hotmail?

    11/11

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>