【问题标题】:Using a dictionary to pull Email Addresses. Some key's have multiple emails, how do I send to all emails?使用字典提取电子邮件地址。某些密钥有多个电子邮件,我如何发送到所有电子邮件?
【发布时间】:2016-03-16 14:43:26
【问题描述】:

在 Windows 7 平台上使用 Python 2.7。

我正在尝试根据 ID 发送电子邮件。
我目前在字典中设置了 ID:电子邮件以从中提取。但是,某些 ID 关联了多个电子邮件。我将如何设置它以向每个收件人发送电子邮件。我试过 [ID]:[email, email],它似乎只发送到列出的第一个电子邮件地址。提前致谢。
字典创建代码如下。

COLS = ['rep_id', 'email', 'password']
with open('commissionrepemaillist.csv', 'r') as infile:
    email_dict = {
        row[0]: dict(zip(COLS, row)) for row in csv.reader(infile)
    }

我正在使用它来分配用于发送电子邮件的变量

email = email_dict[ID]['email']

【问题讨论】:

    标签: python email dictionary


    【解决方案1】:

    仅凭目前给出的信息很难回答,但看起来像d[ID]=[email1, email2, etc],其中d 是您的字典。 d[ID] 是与ID 对应的电子邮件列表。如果您想向电子邮件地址列表发送电子邮件,这个问题是一个很好的问题:Send Email to multiple recipients from .txt file with Python smtplib

    【讨论】:

    • 好的,现在问题已经改变了......从email = email_dict[ID]['email']开始print(email)的结果是什么?
    • 'email' 是出现在COLS 中的字符串吗?是否多次出现?
    • 我已经添加了 COLS 的定义。它是 csv 文件中一行的“标题”或“标签”。 print email 将相关 ID 的电子邮件地址打印为字符串。
    • 我认为您建议的解决方案为我指明了我需要前进的方向。谢谢。
    • 试试print(email)。应打印电子邮件地址列表。如果是这样,那么听起来问题是如何将电子邮件发送到电子邮件地址列表。上面给出的链接答案很好地涵盖了该问题的答案。或者这不是问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    • 2014-08-02
    相关资源
    最近更新 更多