¿Cómo enviar correo desde la línea de comando?
¿Cómo enviar correo desde la línea de comando?
Respuestas:
Intente instalar The Mutt E-mail Client . Otra opción es usar emacs con gnus . Otras opciones disponibles también ... En mi humilde opinión, debe utilizar más detalles en sus preguntas, o varias respuestas diferentes a su pregunta que recibirá :-)
Instalar ssmtp :
sudo apt-get install ssmtp
Edite el archivo de configuración ssmtp:
gksu gedit /etc/ssmtp/ssmtp.conf
Agregue el siguiente texto:
root=username@gmail.com
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=username
AuthPass=password
FromLineOverride=YES
UseTLS=YES
Ejecute ssmtp y proporcione la dirección de correo electrónico del destinatario:
ssmtp recepient_name@gmail.com
Proporcione los detalles del mensaje de la siguiente manera:
To: recipient_name@gmail.com
From: username@gmail.com
Subject: Sent from a terminal!
Your content goes here. Lorem ipsum dolor sit amet, consectetur adipisicing.
(Notice the blank space between the subject and the body.)
Presione Ctrl+ Dpara enviar.
También puede poner el texto en el archivo y enviarlo de la siguiente manera:
ssmtp recipient_name@gmail.com < filename.txt
La mayoría de las veces no debería necesitar configurar un servidor SMTP que simplemente puede usar mail
desde la línea de comandos (si aún no está presente, instale con sudo apt-get install mailutils
). (O si está en un servidor donde está configurado sendmail, etc.)
marco@dagobah:~$ mail -v marco.ceppi.use@gmail.com
Subject: Hello World!
This is an email to myself.
Hope all is well.
.
Cc:
Termina los mensajes con un único .
en línea. Es entonces cuando mail
le pedirá que Cc:
ingrese la información (o la deje en blanco) y mail
luego imprima información adicional sobre lo que está tratando de hacer, además de detallar el procesamiento de la conexión, transmisión y recepción de datos del servidor de correo.
sudo apt-get install mailutils
instalará un servidor SMTP postfix
que puede estar un poco sobrecargado para algunas personas.
apt-get install libio-socket-ssl-perl libnet-ssleay-perl sendemail
uso:
sendemail -f fromuser@gmail.com -t touser@domain.com -u subject -m "message" -s smtp.gmail.com:587 -o tls=yes -xu gmailaccount@gmail.com -xp gmailpassword
Si no desea especificar su contraseña en la línea de comando (generalmente no es algo bueno), puede omitir ese parámetro y sendemail le pedirá la contraseña ... y la mostrará en la pantalla, pero al menos no estará en tu historial de línea de comando.
sendmail
mayor certeza muy útil. Gracias.
-s smtp.gmail.com:587
.
pass=$(cat my_password); sendemail... -xp $name ...
y, por supuesto, si lo está llamando mediante programación, puede hacer algo similar, por ejemplo: ruby system("sendemail ... -xp #{File.read 'my_password'}...")
también puede fallar el la primera vez, debe recibir un correo electrónico en esa cuenta sugiriendo que "habilite aplicaciones menos seguras" para que pueda funcionar.
Necesita una MTA para enviar correo. Para esto, use postfix:
sudo apt-get install postfix
Para enviar un correo electrónico:
echo "test message" | mailx -s 'test subject' myemail@mydomain.com
mailutils
cuando
mail -s "subjet" -a "attchedfile_name" someone@dest_email.com
o
cat "afile" | mail -s "subject" someone@dest_email.com
sudo apt-get install mailutils
en Ubuntu / Debian o yum install mailx
en CentOS / Redhat
Todo se explica aquí .
hanoo@hp_laptop% nc 127.0.0.1 25
220 hp_laptop.localdomain ESMTP Postfix
EHLO man
250 hp_laptop.localdomain
MAIL FROM: <netcat@postfix.com>
250 2.1.0 Ok
RCPT TO: <target@host.com>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
This is the body of my mail,
this is the second line...
.
250 2.0.0 Ok: queued as 9C12E7F404
swaks
y estás bien con SSL / TLS, también ;-)
openssl s_client -starttls smtp ...
Si intenta enviar un correo electrónico desde un sistema, el cual no ejecuta un servidor de correo electrónico propio (es decir, un sistema de escritorio), debe instalar algo como nullmailer o esmtp , que reenvía su correo local a un correo "real" servidor.
Como herramientas de línea de comandos, puede instalar mail o mailx (paquetes mailutils, heirloom-mailx o bsd-mailx). Si necesita archivos adjuntos, pruebe biabam.
Nunca lo he intentado pero hay un mail
comando que puede enviar correo. Ver el correo del hombre .
Para probar el correo electrónico local:
echo message | mail username@localhost
sudo apt-get install sharutils mailutils
uuencode filename filename | mail user@example.com
donde filename
es lo mismo: significa archivo de entrada y archivo remoto.
sudo apt-get install sharutils
parauuencode
Puedes probar esto:
mail name@mailserver.com -s "Attached file" <<EOF
Hi
~| uuencode $HOME/filename.txt filename.txt
EOF
Funciona con GNU Mailutils , consulte el sitio web para obtener más información.
Ejecutar :
sudo apt-get install ssmtp
sudo -H gedit /etc/ssmtp/ssmtp.conf
Lo siguiente debe agregarse allí:
# The user that gets all the mails (UID < 1000, usually the admin)
root=yourusernameofgmail@gmail.com
# The mail server (where the mail is sent to), both port 465 or 587 should be acceptable
# See also https://support.google.com/mail/answer/78799
mailhub=smtp.gmail.com:587
# The address where the mail appears to come from for user authentication.
rewriteDomain=gmail.com
# Use SSL/TLS before starting negotiation
UseTLS=Yes
UseSTARTTLS=Yes
# Username/Password
AuthUser=yourusernameofgmail
AuthPass=yourGmailPassowrd
AuthMethod=LOGIN
# Email 'From header's can override the default domain?
FromLineOverride=yes
Ejecutar :
sudo -H gedit /etc/ssmtp/revaliases
Ingrese allí:
root:yourusernameofgmail@gmail.com:smtp.gmail.com:587
Habilite "aplicaciones menos seguras" en Gmail:
https://support.google.com/accounts/answer/6010255?hl=en
Pruébelo ejecutando lo siguiente en la terminal:
echo "Body of mail is abc" | mail -s "Subject is xyz" "someusername@gmail.com"`
Además de lo anterior, todavía recibía este error
echo "Test message from Linux server using ssmtp" | sudo ssmtp -vvv somebody@mil.gov
[<-] 220 smtp.gmail.com ESMTP v193sm19198825qka.18 - gsmtp
[->] EHLO localhost
[<-] 250 SMTPUTF8
[->] STARTTLS
[<-] 220 2.0.0 Ready to start TLS
[->] EHLO localhost
[<-] 250 SMTPUTF8
[->] AUTH LOGIN
[<-] 334 VXNlcm5hbWU6
[->] aG94Z2VuZUBrrrFpbC5jb20=
[<-] 334 UGFzweliecmQ6
[<-] 534 5.7.14 https://support.google.com/mail/answer/78754 v193sm19198825qka.18 - gsmtp
ssmtp: Authorization failed (534 5.7.14 https://support.google.com/mail/answer/78754 v193sm19198825qka.18 - gsmtp)
SOLUCIÓN: restablecer la contraseña de gmail incluso cuando la contraseña actual sea correcta ... posiblemente precaución de seguridad de Google