如何使用阵列中的电子邮件发送电子邮件?在python上使用smptlib
我是新来的StackOverFlow中级python学生,我编写了一个脚本,可以90%自动发送我的家庭作业,但是没有尝试发送电子邮件的函数,我认为代码不理解数组,我使用了一些mime/电子邮件库和smptlib,我最大的困难是在一个数组中发送电子邮件,我想在数组中接收电子邮件[主题],但没有成功(我的不和谐是>gOld#3140):如何使用阵列中的电子邮件发送电子邮件?在python上使用smptlib,python,arrays,list,automation,Python,Arrays,List,Automation,我是新来的StackOverFlow中级python学生,我编写了一个脚本,可以90%自动发送我的家庭作业,但是没有尝试发送电子邮件的函数,我认为代码不理解数组,我使用了一些mime/电子邮件库和smptlib,我最大的困难是在一个数组中发送电子邮件,我想在数组中接收电子邮件[主题],但没有成功(我的不和谐是>gOld#3140): 线路有一个问题 if subject == subjects_mails and filename2 == subject: 你在比较主语(一个键)和主语(一个字
线路有一个问题
if subject == subjects_mails and filename2 == subject:
你在比较主语(一个键)和主语(一个字典),所以在“==”操作符下,这些东西永远不会相等。
问题出在for函数和if中,我将其更改为:
for key in subjects_mail.keys():
if key == subject:
try:
subject_recmail = subjects_mails.get(subject)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login(from_email, password)
server.sendmail(from_email, subject_recmail, msg.as_string())
print("Email has been sent to ", subject_recmail)
server.quit()
except Exception as err:
print(err)
这里没有数组。您的意思是要附加目录中的所有文件吗?您可能应该从老式的
email
样式切换到现代的Python 3.6+EmailMessage
API。调用电子邮件类web
非常奇怪。SMTP电子邮件比万维网早了大约15年,使用了一套完全不同的协议。我是python的学生,idk all,如果你能帮我写代码的话……你能写正确类型的代码吗?问题是,你重写了名称空间。您使用了相同的变量名两次。在For循环中,您可以将其切换为:For key In subject\u mails.keys():if subject==key。但是你也在比较主题和文件名2,我不明白。我现在会试试你的建议,我会回来给你反馈,如果你想跟我说得更好,我的分歧是:gOld#3140。是的,伙计,我更改了for和if,这很有效,我非常感谢你的帮助dave。
for key in subjects_mail.keys():
if key == subject:
try:
subject_recmail = subjects_mails.get(subject)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login(from_email, password)
server.sendmail(from_email, subject_recmail, msg.as_string())
print("Email has been sent to ", subject_recmail)
server.quit()
except Exception as err:
print(err)