Come configurare ssmtp e inviare e-mail?


10

Sono nuovo di Raspberry Pi.

Ho installato il sistema operativo raspian su di esso. Voglio inviare e-mail da esso utilizzando il mio account Gmail. Voglio inviare dall'interfaccia della riga di comando e dagli script php.

Ho seguito questa guida. http://iqjar.com/jar/sending-emails-from-the-raspberry-pi/

Ho fatto i passaggi 1,2,3,4 dal link.

Quando invio un'e-mail utilizzando il codice riportato di seguito utilizzando

echo "Test text" | mail -s "Test Mail" me2@gmail.com

non succede nulla, non c'è nulla stampato sullo schermo e non ricevo l'e-mail.

Su "revaliases", se sostituisco "mail.google" con "smtp.gmail", ricevo un messaggio che 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)

Qualcuno sa come risolvere questo problema? Grazie

Ecco i due file seguenti:

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


root=me@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=me@gmail.com
AuthPass=mypass
UseSTARTTLS=YES

revaliases

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

root:me@gmail.com:mail.google.com:587

2
Questa non è una domanda specifica su Raspberry provare: - unix.stackexchange.com
Milliways

dai un'occhiata a questo raspberry.znix.com/2013/03/postfix-better-solution-for-rpi.html . Inoltre, se si utilizza 2factor auth con google, è necessario utilizzare una password specifica per l'app, non la password utilizzata per accedere a Gmail sul Web.
Steve Robillard,

Come ottengo la password specifica per l'app ??
omega

Ci hai provato UseSTARTTLS=NO?
Riccioli d'oro

sì, ma non ha ancora funzionato.
Omega

Risposte:


4

Probabilmente l'hai capito ormai, ma ho notato nel tuo file ssmtp.conf, hai: root=me@gmail.com

Tuttavia, nel link che hai pubblicato, dice: root = postmaster

L'ho lasciato così e ho appena cambiato le altre parti me@gmail.com e funziona per me. Grazie per il tuo aiuto, mi ha portato sulla mia strada ...


2

In effetti, non è necessario installare nulla. Exim è già installato su Raspbian, ma è configurato per impostazione predefinita per rimanere locale. Devi solo cambiare il file "update-exim4.conf.conf" "dc_eximconfig_configtype = 'satellite' ecc."


1

Ho avuto lo stesso problema.

Si è scoperto che gmail ha bloccato la richiesta perché il client smtp è nella lista nera come non sicuro (probabilmente è uno dei client interessati dal bug heartble )

Puoi consentire ai client meno sicuri le tue impostazioni di Gmail qui: https://support.google.com/accounts/answer/6010255?hl=it

o, meglio ancora, eseguire l'aggiornamento a una versione più recente del client smtp, se possibile


1

Penso che tu stia cercando questo:

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

ESTRATTO:

La risposta all'invio di messaggi a una riga è usare ssmtp

Installalo con i seguenti comandi:

sudo apt-get update
sudo apt-get install ssmtp

Quindi vai in / etc / ssmtp e modifica ssmtp.conf per assomigliare a questo:

root=rpi3abc@gmail
mailhub=smtp.gmail.com:465
FromLineOverride=YES
AuthUser=rpi3abc@gmail.com
AuthPass=testing123
UseTLS=YES

Invia un one-liner in questo modo:

echo "Testing...1...2...3" | ssmtp myusername@gmail.com

Puoi anche eseguire il cat di un intero file e inserirlo come messaggio.


Se vuoi inviare file di immagine come allegati, allora vuoi questo:

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

È sostanzialmente lo stesso, ma aggiunge:

Installa mpack:

apt-get update
sudo apt-get install mpack

Quindi inviare un'immagine come allegato in questo modo:

mpack -s "P&L Proj 2018" /home/pi/Desktop/finance/PL18.png importantdude@gmail.com

Se il file si trova nella directory corrente, non è necessario utilizzare un percorso completo per l'allegato.

E se utilizzato in cron, ricorda che i lavori vengono sempre eseguiti nella home directory dell'utente, quindi è buona norma utilizzare un percorso di directory completo per il file allegato.

Ecco. Questo è tutto. Non potrebbe essere più facile.

Funziona sia su Raspbian che su tutte le versioni successive di Ubuntu.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.