Python 读取Csv文件并将邮件连同附件发送给收件人

Python 读取Csv文件并将邮件连同附件发送给收件人,python,csv,email,Python,Csv,Email,我有两个单独的python代码。1是从CSV文件读取,另一个是发送带有附件的电子邮件。我在这里的主要目的是将这两个代码合并成1,并发送一封带有附件的电子邮件,其收件人在一个CSV内。在谷歌搜索了很多次之后,我仍然没有成功地使其工作,任何帮助都将不胜感激:) ->这是在电子邮件中发送附件的代码: import smtplib from email.MIMEMultipart import MIMEMultipart from email.MIMEText import MIMEText from

我有两个单独的python代码。1是从CSV文件读取,另一个是发送带有附件的电子邮件。我在这里的主要目的是将这两个代码合并成1,并发送一封带有附件的电子邮件,其收件人在一个CSV内。在谷歌搜索了很多次之后,我仍然没有成功地使其工作,任何帮助都将不胜感激:)

->这是在电子邮件中发送附件的代码:

import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEBase import MIMEBase
from email import encoders

fromaddr = "noreply.vigilare@gmail.com"
toaddr = ("abc@xyz.com")

msg = MIMEMultipart()

msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "SUBJECT OF THE EMAIL"

body = "TEXT YOU WANT TO SEND"

msg.attach(MIMEText(body, 'plain'))

filename = "image.png"
attachment = open("/home/vigzm/image.png", "rb")

part = MIMEBase('application', 'octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', "attachment; filename= %s" % filename)

msg.attach(part)

server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, "Pas***rd")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
->这是从CSV文件读取和发送电子邮件的代码:

#!/usr/bin/python

import csv
import smtplib
from email.mime.text import MIMEText
from email.Header import Header

def sendmail(info_list):
msg = MIMEText(info_list[2], "html", "utf-8")
msg['Subject'] = Header("Read and Send", "utf-8")
msg['From'] = "noreply.vigilare@gmail.com"
msg['To'] = info_list[2]
s = smtplib.SMTP("smtp.gmail.com")
s.ehlo()
s.starttls()
s.login("noreply.vigilare@gmail.com", "Pa****rd")
s.sendmail("Vignesh", info_list[2], msg.as_string())

def main():
with open("Test1.csv", "rb") as csvfile:
    msg_reader = csv.reader(csvfile)
    msg_reader.next()
    map(lambda x: sendmail(x), msg_reader)

if __name__ == "__main__":
    main()

你能显示你的代码吗?请添加你的代码。我添加了我的代码。你添加了两次相同的代码,而不是CSV读取的代码。还包括CSV文件中的一些示例行。CSV文件只是一个excel表格,有两行和两列。