2016-09-14 2 views
1

My-CodeWie E-Mail senden aus Python

import smtplib 
import socket 
import sys 
from email.mime.text import MIMEText 
fp = open("CR_new.txt", 'r') 
msg = MIMEText(fp.read()) 
fp.close() 

you = "[email protected]" 
me = "[email protected]" 
msg['Subject'] = 'The contents of %s' % "CR_new.txt" 
msg['From'] = you 
msg['To'] = me 
s = smtplib.SMTP('127.0.0.1') 
s.sendmail(you,me, msg.as_string()) 
s.quit() 

ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it

Hinweis:

  • Nicht einen SMTP-Server mit
+2

Haben Sie einen SMTP-Server auf Ihrem lokalen Host ausgeführt haben? –

+0

Ich glaube nicht, ich benutze Windows 7 – RajivKumar

+3

Dann brauchen Sie einen SMTP-Server (Ihr eigenes oder jedes andere Sie haben ein Konto für). –

Antwort

0

Dieser Code wird Ihnen helfen, das senden Email. Sie müssen nur Ihr E-Mail-ID-Passwort angeben.

Der wichtigste Hinweis ist: Geben Sie keinen Dateinamen als email.py.

import socket 
import sys 
import smtplib 
EMAIL_TO = ["[email protected]"] 
EMAIL_FROM = "[email protected]" 
EMAIL_SUBJECT = "Test Mail... " 
msg= {} 
EMAIL_SPACE = ", " 



msg['Subject'] = EMAIL_SUBJECT 
msg['To'] = EMAIL_SPACE.join(EMAIL_TO) 
msg['From'] = EMAIL_FROM 
try: 
    mail = smtplib.SMTP_SSL('smtp.bizmail.yahoo.com',465) 
    # 
    # if you are using gmail then use 
    # smtplib.SMTP_SSL('smtp.gmail.com',587) 
    # 
    mail.login("[email protected]", 'password') # you account email password.. 
    mail.sendmail("[email protected]", EMAIL_TO, msg.as_string()) 
    mail.quit() 
except Exception,e: 
    print e 
finally: 
    print "Error of email sending mail" 
+0

Wie kann ich localhost verwenden, um E-Mails zu senden? – RajivKumar

+0

Möglicherweise benötigen Sie einen E-Mail-Server, für den Sie ihn nicht von localhost senden können. –

0

Ich würde vorschlagen, ein Paket wie yagmail verwenden, anstatt zu versuchen, herauszufinden, wie smtplib Arbeit zu bekommen. Haftungsausschluss: Ich bin der Betreuer von Yagmail.

-Code würde wie folgt aussehen:

import yagmail 
yag = yagmail.SMTP(host="127.0.0.1") 
yag.send(to"[email protected]", subject="subject", contents="content") 
+0

mit open (os.path.expanduser ("~/.yagmail")) als f: FileNotFoundError: [Errno 2] Keine solche Datei oder Verzeichnis: 'C: \\ Benutzer \\ rajivkum/.yagmail' >> > Ich habe diesen Fehler mit yagmail – RajivKumar

+0

Wie Sie bemerken, kein Passwort und Benutzername :-) Führen Sie einmal 'yagmail.register (" Benutzername "," Passwort ")', die Ihr Passwort in Ihrem Betriebssystem Schlüsselring speichern wird. Wenn Sie Ihren Benutzernamen in der .yagmail-Datei in Ihrem Benutzerordner verwenden, werden passwortlose Skripts zugelassen. Oder: 'yagmail.SMTP (" username "," password ")' wenn Sie in Ihren Skripten gerne Benutzername/Passwort schreiben. – PascalVKooten

+0

In Ihrem Fall würden Sie '.yagmail' in Ihren' C: \ Users \ rajivkum'-Ordner legen. – PascalVKooten