• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
email allegato con

Email con allegato
#1
Ciao a tutti, sto cercando di inviare da shell una mail con allegato un file txt senza successo...
Cosa mi consigliate di usare? Postfix, mutt, o quali altri?
Con Mutt ho un errore che non riesco a risolvere...


Allegati Anteprime
   
Risposta
#2
hai configurato il file /etc/Muttrc ?

controlla questo
https://support.google.com/accounts/answ...0255?hl=it
l'smtp di Gmail vuole l'autenticazione anche

smtp.gmail.com
Richiede SSL: Sì
Richiede TLS: Sì (se disponibile)
Richiede autenticazione: Sì
Porta per SSL: 465
oppure Porta per TLS/STARTTLS: 587
Heart Libro  | Blog EnricoSartori.it | Idea YouTube
Se un utente ti è stato utile, aumenta la sua reputazione! premi il Pollicione! 
Risposta
#3
senno puoi usare il server smtp di google senza autenticazione (con restrizioni ovviamente, per evitare l'uso spam).

https://support.google.com/a/answer/176600?hl=it

ps: rischi che il destinatario lo riceva nella casella di posta indesiderata, se è per te fai un filtro che lo eviti.



Coltiva linux, che windows si pianta da solo! (cit.)
Risposta
#4
o semplicemente usi senza autenticazione su porta 25 l'smtp del tuo gestore adsl
oppure passi a RpiNotify tramite telegram
Heart Libro  | Blog EnricoSartori.it | Idea YouTube
Se un utente ti è stato utile, aumenta la sua reputazione! premi il Pollicione! 
Risposta
#5
(05/01/2018, 20:17)Enrico Sartori Ha scritto: hai configurato il file /etc/Muttrc  ?

controlla questo
https://support.google.com/accounts/answ...0255?hl=it
l'smtp di Gmail vuole l'autenticazione anche

smtp.gmail.com
Richiede SSL: Sì
Richiede TLS: Sì (se disponibile)
Richiede autenticazione: Sì
Porta per SSL: 465
oppure Porta per TLS/STARTTLS: 587

Posto il file di configurazione .muttrc in modo che si possa capire meglio ed eventualmente apporre correzioni.

set from = servergina@gmail.com
set ssl_force_tls = yes
set use_from = yes
set envelope_from = yes
set realname = "Gina"
set imap_user = servergina@gmail.com
set imap_pass = miapassword
set spoolfile = imaps://imap.gmail.com:993/INBOX
set smtp_url = smtp://servergina@smtp.gmail.com:465/
set smtp_pass = mia password
set folder = imaps://imap.gmail.com:993
set record = "+[Gmail]/Sent Mail"
set postponed = "+[Gmail]/Drafts"
set header_cache = ~/.mutt/cache/headers
set message_cachedir = ~/.mutt/cache/bodies
set certificate_file = ~/.mutt/certificates
set move = no
Risposta
#6
set smtp_url = smtp://servergina@smtp.gmail.com:587/
Heart Libro  | Blog EnricoSartori.it | Idea YouTube
Se un utente ti è stato utile, aumenta la sua reputazione! premi il Pollicione! 
Risposta
#7
(05/01/2018, 23:20)Enrico Sartori Ha scritto: set smtp_url = smtp://servergina@smtp.gmail.com:587/

Buongiorno, cambiando la porta cambia l'errore... ti allego il file
Con uno script che ha fatto mio figlio l'invio di mail funziona, ma non so come allegare un file. Posto il pezzo di script :

s = smtplib.SMTP('smtp.gmail.com', 587)
s.ehlo()
s.starttls()
s.ehlo()
s.login(smtpUser, smtpPass)
s.sendmail(fromAdd, toAdd, header00 + '\n\n' + body00)


Allegati Anteprime
   
Risposta
#8
Buongiorno a tutti, ho risolto con uno script trovato in rete!

Codice:
# Found most ofthis at http://ryrobes.com/python/python-snippet-sending-html-email-with-an-attachment-via-google-apps-smtp-or-gmail/

# Adapted to accept a list of files for multiple file attachments
# From other stuff I googled, a little more elegant way of converting html to plain text
# This works in 2.7 and my brain gets it.

######### Setup your stuff here #######################################

attachments = ['Log.txt']

username = 'servergina@gmail.com'
password = 'miapassword'
host = 'smtp.gmail.com:587' # specify port, if required, using this notations

fromaddr = 'servergina@gmail.com' # must be a vaild 'from' address in your GApps account
toaddr  = 'domo.light.c@gmail.com'
#replyto = fromaddr # unless you want a different reply-to

msgsubject = 'This is the subject of the email! WooHoo!'

htmlmsgtext = """<h2>This is my message body in HTML...WOW!!!!!</h2>
                <p>\
                 Hey, Hey, Ho, Ho, got a paragraph here. A lovely paragraph it is.\
                 You've never seen a better paragraph than this.\
                 I make some of the best paragraphs you have ever seen.\
                 Hey, Hey, Ho, Ho, got a paragraph here. A lovely paragraph it is.\
                 You've never seen a better paragraph than this.\
                 I make some of the best paragraphs you have ever seen.\                 
                 </p>
                <ul>
                    <li>This is a list item</li>
                    <li>This is another list item</li>
                    <li>And yet another list item, pretty big list</li>
                    <li>OMG this is a long list!</li>
                </ul>
                <p><strong>Here are your attachments:</strong></p><br />"""

######### In normal use nothing changes below this line ###############

import smtplib, os, sys
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import Encoders
from HTMLParser import HTMLParser

# A snippet - class to strip HTML tags for the text version of the email

class MLStripper(HTMLParser):
    def __init__(self):
        self.reset()
        self.fed = []
    def handle_data(self, d):
        self.fed.append(d)
    def get_data(self):
        return ''.join(self.fed)

def strip_tags(html):
    s = MLStripper()
    s.feed(html)
    return s.get_data()

########################################################################

try:
    # Make text version from HTML - First convert tags that produce a line break to carriage returns
    msgtext = htmlmsgtext.replace('</br>',"\r").replace('<br />',"\r").replace('</p>',"\r")
    # Then strip all the other tags out
    msgtext = strip_tags(msgtext)

    # necessary mimey stuff
    msg = MIMEMultipart()
    msg.preamble = 'This is a multi-part message in MIME format.\n'
    msg.epilogue = ''

    body = MIMEMultipart('alternative')
    body.attach(MIMEText(msgtext))
    body.attach(MIMEText(htmlmsgtext, 'html'))
    msg.attach(body)

    if 'attachments' in globals() and len('attachments') > 0: # are there attachments?
        for filename in attachments:
            f = filename
            part = MIMEBase('application', "octet-stream")
            part.set_payload( open(f,"rb").read() )
            Encoders.encode_base64(part)
            part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(f))
            msg.attach(part)

    msg.add_header('From', fromaddr)
    msg.add_header('To', toaddr)
    msg.add_header('Subject', msgsubject)
    msg.add_header('Reply-To', replyto)

    # The actual email sendy bits
    server = smtplib.SMTP(host)
    server.set_debuglevel(False) # set to True for verbose output
    try:
        # gmail expect tls
        server.starttls()
        server.login(username,password)
        server.sendmail(msg['From'], [msg['To']], msg.as_string())
        print ('Email sent')
        server.quit() # bye bye
    except:
        # if tls is set for non-tls servers you would have raised an exception, so....
        server.login(servergina@gmail.com,Gilbert2)
        server.sendmail(msg['From'], [msg['To']], msg.as_string())
        print ('Email sent')
        server.quit() # sbye bye        
except:
    print ('Email NOT sent to %s successfully. %s ERR: %s %s %s ', str(toaddr), 'tete', str(sys.exc_info()[0]), str(sys.exc_info()[1]), str(sys.exc_info()[2]) )
    #just in case

edit: ti ho editato il post per farti vedere il [ code ] tag
Risposta
#9
ciao,
esiste un tag apposito per i codici che ne migliora la leggibilità [ code ] [ /code ]

Smile



Coltiva linux, che windows si pianta da solo! (cit.)
Risposta
#10
(07/01/2018, 12:36)Painbrain Ha scritto: ciao,
esiste un tag apposito per i codici che ne migliora la leggibilità [ code ] [ /code ]

Smile

Ok grazie!
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect