.csv在Python3中发送电子邮件时文件更改为.txt

时间:2018-02-28 01:04:34

标签: python-3.x

第一篇文章,但很长一段时间潜伏着。我是一个相当新的python,我正在尝试创建一个程序,将推文存储在csv文件中,然后通过gmail发送电子邮件。一切似乎都在起作用,直到我到达发送电子邮件的部分。它不是以.csv文件形式发送的,而是通过.txt发送的。我试图使用官方python网站上的email.mime文档来解决这个问题,但如果没有任何示例,它很难理解。

以下是我目前拥有的代码片段:

ffmpeg -loop 1 -i image.png -i video.mp4 -filter_complex "[1:v]scale=720:490[fg];[0:v][fg]overlay=1:shortest=1" output.mp4

我们将非常感谢您提供的任何帮助。

感谢。

1 个答案:

答案 0 :(得分:0)

这与我过去使用csv发送SMTPlib文件的代码相同,希望这对您有所帮助。代码中的add_header部分不符合python文档中here所述的格式

msg=MIMEMultipart()
msg['From'] = user
msg['To'] = receiver
msg['Subject'] = 'Here are some tweets'
filename="tweets.csv"
ctype, encoding = mimetypes.guess_type(filename)
if ctype is None or encoding is not None:
    ctype       = "application/octet-stream"

maintype, subtype = ctype.split("/", 1)

body = 'Enjoy these tweets'
msg.attach(MIMEText(body,'plain'))
attachment                = open(filename, "rb")
part        = MIMEBase(maintype, subtype)
part.set_payload(attachment.read())
attachment.close()
part.add_header("Content-Disposition", "attachment", filename=filename)
msg.attach(part)

server            =  smtplib.SMTP()
server.connect(address,port)
server.ehlo()

server.sendmail(from, to, msg.as_string())
server.close()