2017-01-29 6 views
0

Ich versuche ein Skript zu erstellen, das eine E-Mail sendet. Aber wie macht man Zeilenumbrüche? Ich habe versucht, die folgenden:Zeilenumbrüche in SMTPLIB Python 3

ändern msg = MIMEText(msginp) zu msg=MIMEText(msginp,_subtype='plain',_charset='windows-1255')

HINWEIS: msginp ein Eingang (msginp = input('Body? '))

Weiß jemand, wie Zeilenumbrüche zu machen? Wie die enter Taste auf Ihrer Tastatur?

Mein Code ist:

import smtplib 
from email.mime.text import MIMEText 
import getpass 
smtpserverinp = input('What SMTP server are you using? (Look here for more information. https://sites.google.com/view/smtpserver) ') 
usern = input('What is your email adderess? ') 
p = getpass.getpass(prompt='What is your password? (You will not see that you are typing because it is a password) ') 
subjectss = input('Subject? ') 
msginp = input('Body? ') 
toaddr = input('To who do you want to send it to? ') 
msg = MIMEText(msginp) 

msg['Subject'] = subjectss 
msg['From'] = usern 
msg['To'] = toaddr 

s = smtplib.SMTP(smtpserverinp, 587) 
s.starttls() 
s.login(usern, p) 
s.sendmail(usern, toaddr, msg.as_string()) 
s.quit() 

Dank!

+0

Ich glaube nicht, gibt es eine einfache/straight-forward Weg, dies im Terminal zu tun. Es ist Zeit, sich mit einer einfachen GUI-Bibliothek wie [Tkinter] (https://docs.python.org/3/library/tk.html) zu beschäftigen. – danidee

+0

Ich benutze bereits Tkinter. Aber bevor ich es in tkinter 'umwandle', möchte ich es im Terminal versuchen –

Antwort

0

ich keinen Kommentar zu sehen, ob dies völlig war hinzufügen können, was Sie wollen, aber ich werde es vor geben.

Ihre msginp = input('Body? ') endet, sobald Sie die Eingabetaste drücken, für eine neue Zeile müssen Sie \n eingeben. Anstatt jedes Mal \n einzugeben, können Sie eine Schleife erstellen. Sobald alle Daten gesammelt wurden, können Sie den MIMEText wie zuvor verwenden.

Ersetzen Sie Ihre msginp und Mime mit diesem (insgesamt ist die msginp)

total = "" 
temp = input("Data: ") 
total = temp+"\n" 
while(temp!=""): 
    temp = input("next line: ") 
    total = total+temp+"\n" 
msg = MIMEText(total) 
0

Beenden, wenn Sie leere Zeile eingeben

print("Body? ", end="") 

lines = [] 
while True: 
    line = input("") 
    if not len(line): 
     break 
    lines.append(line) 

print("\n".join(lines)) 
Verwandte Themen