Mar-17-2021, 07:04 PM
Hi,
The following code works, but if I define it, it fails. Where's my error?
TIA
The following code works, but if I define it, it fails. Where's my error?
TIA
import sys mailScript = "C:\SharedFiles\Python\practice\mailTest.py" password = "mypass" script_descriptor = open(mailScript) a_script = script_descriptor.read() sys.argv = ["", password, "[email protected]", "subject", "hello body_text"] exec(a_script) script_descriptor.close()
import sys def main(): # password mailto subject bodyText mailScript = "C:\SharedFiles\Python\practice\mailTest.py" PASSWORD = "mypass" script_descriptor = open(mailScript) a_script = script_descriptor.read() sys.argv = ["", PASSWORD, "[email protected]", "subject", "hello body_text"] exec(a_script) script_descriptor.close() main()
import smtplib, sys from email.mime.text import MIMEText def main(a, b, c, d): USERNAME = "[email protected]" PASSWORD = sys.argv[1] MAILTO = sys.argv[2] subject = sys.argv[3] bodyText = sys.argv[4] msg = MIMEText(bodyText) msg['Subject'] = subject msg['From'] = USERNAME msg['To'] = MAILTO server = smtplib.SMTP('smtp.gmail.com:587') server.ehlo_or_helo_if_needed() server.starttls() server.ehlo_or_helo_if_needed() server.login(USERNAME, PASSWORD) server.sendmail(USERNAME, MAILTO, msg.as_string()) server.quit() if __name__ == "__main__": a = sys.argv[1] b = sys.argv[2] c = sys.argv[3] d = sys.argv[4] main(a, b, c, d)
Error:Traceback (most recent call last):
File "C:\SharedFiles\Python\practice\test.py", line 19, in <module>
main()
File "C:\SharedFiles\Python\practice\test.py", line 14, in main
exec(a_script)
File "<string>", line 33, in <module>
File "<string>", line 13, in main
NameError: name 'MIMEText' is not defined
Process finished with exit code 1