Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用阵列中的电子邮件发送电子邮件?在python上使用smptlib_Python_Arrays_List_Automation - Fatal编程技术网

如何使用阵列中的电子邮件发送电子邮件?在python上使用smptlib

如何使用阵列中的电子邮件发送电子邮件?在python上使用smptlib,python,arrays,list,automation,Python,Arrays,List,Automation,我是新来的StackOverFlow中级python学生,我编写了一个脚本,可以90%自动发送我的家庭作业,但是没有尝试发送电子邮件的函数,我认为代码不理解数组,我使用了一些mime/电子邮件库和smptlib,我最大的困难是在一个数组中发送电子邮件,我想在数组中接收电子邮件[主题],但没有成功(我的不和谐是>gOld#3140): 线路有一个问题 if subject == subjects_mails and filename2 == subject: 你在比较主语(一个键)和主语(一个字

我是新来的StackOverFlow中级python学生,我编写了一个脚本,可以90%自动发送我的家庭作业,但是没有尝试发送电子邮件的函数,我认为代码不理解数组,我使用了一些mime/电子邮件库和smptlib,我最大的困难是在一个数组中发送电子邮件,我想在数组中接收电子邮件[主题],但没有成功(我的不和谐是>gOld#3140):


线路有一个问题

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)