Oppure

Loading
02/07/11 18:35
Edex
Salve ragazzi, oggi stavo cercando di inviare una mail con python però ho riscontrato qualche problema. Utilizzo il metodo smtplib, che credo sia quello giusto no?

Scrivo questo codice cercando di aprire un connessione con il server SMTP:
import smtplib
server = smtplib.SMTP('smtp.gmail.com')


Mi da però l'errore:
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "C:\Python25\lib\smtplib.py", line 244, in __init__
    (code, msg) = self.connect(host, port)
  File "C:\Python25\lib\smtplib.py", line 310, in connect
    raise socket.error, msg
error: (10061, 'Connection refused')


perchè?
Visto che è la prima volta che tento una cosa del genere potrei aver scritto tante, ma tante, cavolate quindi vi prego di essere comprensivi. :D
Ultima modifica effettuata da Edex 02/07/11 18:37
aaa
02/07/11 18:59
nessuno
gmail deve essere contattata sulla porta 587 e devi utilizzare il comando STARTTLS per la comunicazione sicura
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
02/07/11 22:53
Edex
Ho provato a contattare il server come hai detto tu, ho scritto:
import smtplib
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(user,psw)


Quando però vado a dare invio sul comando server.login() esce questo errore:
Traceback (most recent call last):
  File "C:\Python25\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 325, in RunScript
    exec codeObject in __main__.__dict__
  File "C:\Users\Franco\Desktop\Script1.py", line 14, in <module>
    server.login(username,password)
  File "C:\Python25\lib\smtplib.py", line 554, in login
    raise SMTPException("SMTP AUTH extension not supported by server.")
SMTPException: SMTP AUTH extension not supported by server.


Ho provato più volte, l'unica volta che non è uscito quest'errore è quando dopo l'invio del comando starttls() è uscito come risultato una stringa con scritto continue. Il risultato di starttls() cambia continuamente infatti, perchè?

P.S. Devo utilizzare questo metodo di chiamata del server per tutti i server che richiedono autenticazione? E poi come trovo le porte a cui accedere?
aaa
02/07/11 22:54
nessuno
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
03/07/11 9:36
Edex
Grazie dell' aiuto ora funziona, però ho un altro problema.
Ho voluto provare a creare un messaggio MIMEMultipart ed a aggiungere un'immagine, seguo il procedimeno che utilizza anche nell'esempio ma quando do il seguente codice all'interprete:
img = open(FilePath, 'rb')

mi restituisce l'errore:
Traceback (most recent call last):
  File "C:\Python25\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 325, in RunScript
    exec codeObject in __main__.__dict__
  File "C:\Users\Public\Pictures\Sample Pictures\Script1.py", line 1, in <module>
    img = open('Deserto.jpg','rb')
IOError: [Errno 2] No such file or directory: 'Deserto.jpg'


Perchè?
Comunque ho notato che me lo fa solo con le immagini, e più precisamente con le jpeg perchè con le png funziona tutto bene...

Inoltre andando avanti con l'immagine in formato png quando vado a eseguire la riga:
MIMEImage(file.read(),_subType = subType)

mi compare l'errore:
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "C:\Python25\lib\email\mime\image.py", line 43, in __init__
    raise TypeError('Could not guess image MIME subtype')
TypeError: Could not guess image MIME subtype
Ultima modifica effettuata da Edex 03/07/11 17:28
aaa