Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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 如何将电子邮件发送到电子表格上的电子邮件列表?_Python_Email_Outlook - Fatal编程技术网

Python 如何将电子邮件发送到电子表格上的电子邮件列表?

Python 如何将电子邮件发送到电子表格上的电子邮件列表?,python,email,outlook,Python,Email,Outlook,我需要使用python向一些客户端发送电子邮件。他们所有的电子邮件都在电子表格上 根据我的代码,只将电子邮件发送到电子表格的最后一行。但我需要把它单独发送到所有的电子邮件中 我可以在我的代码中更改什么,以便它向每个人发送电子邮件 import win32com.client as win32 import pandas as pd # integrating outlook outlook = win32.Dispatch('outlook.application') # creating

我需要使用python向一些客户端发送电子邮件。他们所有的电子邮件都在电子表格上

根据我的代码,只将电子邮件发送到电子表格的最后一行。但我需要把它单独发送到所有的电子邮件中

我可以在我的代码中更改什么,以便它向每个人发送电子邮件

import win32com.client as win32
import pandas as pd

# integrating outlook
outlook = win32.Dispatch('outlook.application')

# creating an email
email = outlook.CreateItem(0)

ler = pd.read_excel ('D:\Projeto Zurich/email_list.xlsx')
# setting the e-mail
for index, linha in ler.iterrows ():
    email.to = (linha["EMAIL"])
    email.Subject = "Hello," +  (linha ["NAME"])
    email.HTMLBody = """
    <p>Hi, there!</p>
    """

    email.Send()
    print("Email Enviado")
将win32com.client作为win32导入
作为pd进口熊猫
#整合观
outlook=win32.Dispatch('outlook.application')
#创建电子邮件
电子邮件=outlook.CreateItem(0)
ler=pd.read\u excel('D:\Projeto Zurich/email\u list.xlsx')
#设置电子邮件地址
对于索引,ler.iterrows()中的linha:
email.to=(linha[“email”])
email.Subject=“你好,”+(linha[“NAME”])
email.HTMLBody=“”
你好

""" email.Send() 打印(“电子邮件Enviado”)

我认为您需要分两个步骤来完成这项工作:

  • 您需要从工作表中获取电子邮件
  • 然后,在电子邮件列表上循环发送电子邮件
  • 例如,电子邮件位于第一列,主题位于第二列:

    #使用Python读取excel文件
    导入xlrd
    #给出文件的位置
    loc=(“文件.xlsx的路径”)
    #打开工作簿
    wb=xlrd.open_工作簿(loc)
    工作表=工作表。工作表按索引(0)
    对于范围(01100)内的i:#“100”允许您拥有的电子邮件数量
    #对于第0行和第0列
    电子邮件=工作表。单元格_值(0,i)
    主题=表。单元格_值(1,i)
    发送电子邮件(电子邮件、主题)
    def发送电子邮件(邮件地址、主题):
    #在此添加发送电子邮件的代码
    email.to=邮件地址
    email.Subject=“你好,”+Subject
    email.HTMLBody=“”
    你好

    """ email.Send() 打印(“电子邮件Enviado”)
    这看起来似乎应该向每个人发送电子邮件。为显示其操作而进行的跟踪在哪里?插入相应的
    print
    命令以诊断问题。此外,请提供预期的(MRE)。我们应该能够复制和粘贴一个连续的代码块,执行该文件,并再现您的问题以及跟踪问题点的输出。这让我们可以根据您的测试数据和所需的输出测试我们的建议。您尚未隔离问题:可能是读取文件、迭代文件或发送电子邮件失败。再次,制作MRE并跟踪操作。嗨,Prune!我对我的问题做了一些修改,请告诉我是否正确。我读过关于MRE的文章,但是我怎么知道是读取文件失败、迭代文件失败还是发送电子邮件失败。当我播放代码时,它会在outlook上打开一条消息,请求允许发送电子邮件,我允许,它只向电子表格上的最后一个发送电子邮件。我还添加了一张我的电子表格的图片。如果我需要添加其他信息,请告诉我。感谢您的帮助“how can I know”说您需要调试课程——这不是堆栈溢出函数。请看这个以寻求帮助。另请参见。别忘了修改
    发送电子邮件
    功能,并调整电子邮件的收集,主题。另外,您需要更改文件的路径—您任意要求的100—甚至提前知道—会破坏程序。还有,为什么重构很重要?原始文件执行读取-提取-发送循环。您将其替换为读取-提取-累积和发送循环,但您从未解释您修复的原始问题。