Ich versuche ein Programm zu schreiben, das eine E-Mail von Google Mail mit einem Textteil mit Echtzeit-Aktienkursen sendet. Ich verwende ein Modul, um Börsenkurse im String-Format zu erhalten (das funktioniert), und ich schrieb eine Funktion, um eine E-Mail von Google Mail zu senden. Die Funktion message_send funktioniert nur, wenn ich ihr eine einfache Zeichenfolge gebe. Es funktioniert nicht, wenn ich die Variable aapl_string übergebe. Siehe Code unten:Python - Text erscheint nicht in code-getriggerter E-Mail gesendet, wenn Zeichenfolge Ergebnis einer Formel ist
from yahoo_finance import *
import smtplib
def message_send(messagebody):
fromaddr = 'REDACTED'
toaddrs = 'REDACTED'
msg = messagebody
# Credentials (if needed)
username = 'REDACTED'
password = 'REDACTED'
# The actual mail send
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(username,password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
aapl = Share('AAPL')
aapl.refresh()
price_aapl = aapl.get_price()
aapl_string = "The current price of AAPL is: " + price_aapl
print(aapl_string)
message_send(aapl_string)
Irgendwelche Ideen, warum die E-Mail sendet, enthält aber leeren Text wenn aapl_string als Argument für die message_send-Funktion?
Danke!
Vergessen, das hinzuzufügen - es ist eine Zeichenfolge und die Druckanweisung gegen Ende des Codes funktioniert – offthewall1066
Oh ok dann statt% d würden Sie einfach% s setzen –