¿Cómo configurar ssmtp y enviar correos electrónicos?

10

Soy nuevo en frambuesa pi.

Instalé el sistema operativo raspian en él. Quiero enviar correos electrónicos desde mi cuenta de gmail. Quiero enviar desde la interfaz de línea de comandos y desde scripts php.

Seguí esta guía. http://iqjar.com/jar/sending-emails-from-the-raspberry-pi/

Hice los pasos 1,2,3,4 desde el enlace.

Cuando envío un correo electrónico usando el siguiente código usando

echo "Test text" | mail -s "Test Mail" [email protected]

no pasa nada, no hay nada impreso en la pantalla y no recibo el correo electrónico.

En "revaliases", si reemplazo "mail.google" con "smtp.gmail", recibo un mensaje que dice

send-mail: Cannot open mail.google.com:587

o

send-mail: Server didn't like our AUTH LOGIN (530 5.7.0 Must issue a STARTTLS command first. ml2sm3592928igb.10 - gsmtp)

¿Alguien sabe cómo arreglar esto? Gracias

Aquí están los dos archivos a continuación:

ssmtp.conf

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
# root=postmaster

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
# mailhub=mail

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
hostname=raspberrypi

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES


[email protected]
mailhub=smtp.gmail.com:587
[email protected]
AuthPass=mypass
UseSTARTTLS=YES

revalias

# sSMTP aliases
# 
# Format:   local_account:outgoing_address:mailhub
#
# Example: root:[email protected]:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.

root:[email protected]:mail.google.com:587
omega
fuente
2
Esta no es una pregunta específica sobre Raspberry, pruébela: - unix.stackexchange.com
Milliways
échale un vistazo a esto es raspberry.znix.com/2013/03/postfix-better-solution-for-rpi.html . Además, si usa la autenticación de 2factor con google, debe usar una contraseña específica de la aplicación, no la contraseña que usa para iniciar sesión en gmail a través de la web.
Steve Robillard
¿Cómo obtengo la contraseña específica de la aplicación?
omega
¿Has probado con UseSTARTTLS=NO?
Ricitos de oro
Sí, pero todavía no funcionó.
omega

Respuestas:

4

Probablemente ya lo haya resuelto, pero noté que en su archivo ssmtp.conf, tiene: [email protected]

Sin embargo, en el enlace que publicó, dice: root = postmaster

Lo dejé así y simplemente cambié las otras partes de [email protected] y funciona para mí. Sin embargo, gracias por su ayuda, me puso en camino ...

Dave
fuente
2

De hecho, no necesita instalar nada. Exim ya está instalado en Raspbian, pero está configurado de forma predeterminada para permanecer local. Solo tiene que cambiar el archivo "update-exim4.conf.conf" "dc_eximconfig_configtype = 'satélite', etc."

Oliver T.
fuente
1

Tuve el mismo problema.

Resultó que gmail bloqueó la solicitud porque el cliente smtp está en la lista negra como no seguro (probablemente es uno de los clientes afectados por el error de heartbleed )

Puede permitir clientes menos seguros en su configuración de gmail aquí: https://support.google.com/accounts/answer/6010255?hl=en

o, mejor aún, actualice a una versión más nueva del cliente smtp, si es posible

Gianluca Ghettini
fuente
1

Creo que estás buscando esto:

/unix/363814/simplest-way-to-send-one-line-mail-out-via-command-line-using-gmail

EXTRACTO:

La respuesta para enviar mensajes de una línea es usar ssmtp

Instálalo con los siguientes comandos:

sudo apt-get update
sudo apt-get install ssmtp

Luego vaya a / etc / ssmtp y edite ssmtp.conf para que se vea así:

root=rpi3abc@gmail
mailhub=smtp.gmail.com:465
FromLineOverride=YES
[email protected]
AuthPass=testing123
UseTLS=YES

Envíe una línea como esta:

echo "Testing...1...2...3" | ssmtp [email protected]

También puede capturar un archivo completo y canalizarlo como mensaje.


Si desea enviar archivos de imagen como archivos adjuntos, entonces quiere este:

/unix/381131/simplest-way-to-send-mail-with-image-attachment-from-command-line-using-gmail

Básicamente es lo mismo, pero agrega:

Instalar mpack:

apt-get update
sudo apt-get install mpack

Luego envíe una imagen como archivo adjunto de la siguiente manera:

mpack -s "P&L Proj 2018" /home/pi/Desktop/finance/PL18.png [email protected]

Si el archivo está en el directorio actual, no es necesario utilizar una ruta completa al archivo adjunto.

Y si se usa en cron, recuerde que los trabajos siempre se ejecutan en el directorio de inicio del usuario, por lo que es una buena práctica usar una ruta de directorio completa al archivo adjunto.

Voila Eso es. No podría ser más fácil.

Funciona tanto en Raspbian como en todas las versiones posteriores de Ubuntu.

SDsolar
fuente