如何使用Python发送带有.csv附件的电子邮件

乔丹·斯塔克

好的,我知道有一些问题可以解决,但是我找不到使它正常工作的方法。我认为它和下面的代码一样简单,但这不会附加我的文件。任何帮助将不胜感激。我对Python也很陌生。我应该导入一个邮件模块以使该功能正常工作吗?

import smtplib
fromaddr = "[email protected]
toaddrs = "[email protected]

msg = "help I cannot send an attachment to save my life"
attach = ("csvonDesktp.csv")

username = user
password = password

server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(username,password)
server.sendmail(fromaddr, toaddrs, msg, attach)
server.quit()
杰米·伊万诺夫(Jamie Ivanov)

发送包含适当MIME类型的多部分电子邮件。

https://docs.python.org/2/library/email-examples.html

所以可能是这样的(我测试了这个):

import smtplib
import mimetypes
from email.mime.multipart import MIMEMultipart
from email import encoders
from email.message import Message
from email.mime.audio import MIMEAudio
from email.mime.base import MIMEBase
from email.mime.image import MIMEImage
from email.mime.text import MIMEText

emailfrom = "[email protected]"
emailto = "[email protected]"
fileToSend = "hi.csv"
username = "user"
password = "password"

msg = MIMEMultipart()
msg["From"] = emailfrom
msg["To"] = emailto
msg["Subject"] = "help I cannot send an attachment to save my life"
msg.preamble = "help I cannot send an attachment to save my life"

ctype, encoding = mimetypes.guess_type(fileToSend)
if ctype is None or encoding is not None:
    ctype = "application/octet-stream"

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

if maintype == "text":
    fp = open(fileToSend)
    # Note: we should handle calculating the charset
    attachment = MIMEText(fp.read(), _subtype=subtype)
    fp.close()
elif maintype == "image":
    fp = open(fileToSend, "rb")
    attachment = MIMEImage(fp.read(), _subtype=subtype)
    fp.close()
elif maintype == "audio":
    fp = open(fileToSend, "rb")
    attachment = MIMEAudio(fp.read(), _subtype=subtype)
    fp.close()
else:
    fp = open(fileToSend, "rb")
    attachment = MIMEBase(maintype, subtype)
    attachment.set_payload(fp.read())
    fp.close()
    encoders.encode_base64(attachment)
attachment.add_header("Content-Disposition", "attachment", filename=fileToSend)
msg.attach(attachment)

server = smtplib.SMTP("smtp.gmail.com:587")
server.starttls()
server.login(username,password)
server.sendmail(emailfrom, emailto, msg.as_string())
server.quit()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Python发送带有.csv附件的电子邮件

来自分类Dev

使用Python发送带有附件的电子邮件

来自分类Dev

发送带有附件的电子邮件

来自分类Dev

发送带有附件的电子邮件

来自分类Dev

尝试在电子邮件中发送csv附件和正文

来自分类Dev

如何发送带有HTML附件的电子邮件

来自分类Dev

如何发送带有Android意图的附件的电子邮件?

来自分类Dev

如何发送带有HTML附件的电子邮件

来自分类Dev

python发送带有文本和附件的电子邮件

来自分类Dev

Python发送带有相应附件的电子邮件

来自分类Dev

Python发送带有附件的电子邮件

来自分类Dev

使用Javascript for Automation发送带有附件的电子邮件

来自分类Dev

使用SendGrid发送带有附件的电子邮件

来自分类Dev

使用smpt发送带有多个附件的电子邮件

来自分类Dev

使用wordpress发送带有附件的电子邮件

来自分类Dev

使用Maven发送带有附件的电子邮件

来自分类Dev

使用SendGrid发送带有附件的电子邮件

来自分类Dev

无法使用 nodemailer 发送带有附件的电子邮件

来自分类Dev

使用 powershell 发送带有内嵌附件的电子邮件

来自分类Dev

php生成带有csv附件的电子邮件-发送额外的(不正确的)版本

来自分类Dev

打开带有附件的电子邮件

来自分类Dev

如何使用vb.net中的默认电子邮件客户端发送带有附件的电子邮件

来自分类Dev

mailjet以txt格式发送带有附件的电子邮件

来自分类Dev

Excel VBA发送带有多个附件的电子邮件

来自分类Dev

发送带有附件和签名的Outlook电子邮件

来自分类Dev

在Delphi中发送带有附件的电子邮件

来自分类Dev

php发送带有PDF附件的电子邮件

来自分类Dev

发送带有附件..VBA代码的电子邮件

来自分类Dev

Codeigniter发送带有附件的电子邮件

Related 相关文章

  1. 1

    如何使用Python发送带有.csv附件的电子邮件

  2. 2

    使用Python发送带有附件的电子邮件

  3. 3

    发送带有附件的电子邮件

  4. 4

    发送带有附件的电子邮件

  5. 5

    尝试在电子邮件中发送csv附件和正文

  6. 6

    如何发送带有HTML附件的电子邮件

  7. 7

    如何发送带有Android意图的附件的电子邮件?

  8. 8

    如何发送带有HTML附件的电子邮件

  9. 9

    python发送带有文本和附件的电子邮件

  10. 10

    Python发送带有相应附件的电子邮件

  11. 11

    Python发送带有附件的电子邮件

  12. 12

    使用Javascript for Automation发送带有附件的电子邮件

  13. 13

    使用SendGrid发送带有附件的电子邮件

  14. 14

    使用smpt发送带有多个附件的电子邮件

  15. 15

    使用wordpress发送带有附件的电子邮件

  16. 16

    使用Maven发送带有附件的电子邮件

  17. 17

    使用SendGrid发送带有附件的电子邮件

  18. 18

    无法使用 nodemailer 发送带有附件的电子邮件

  19. 19

    使用 powershell 发送带有内嵌附件的电子邮件

  20. 20

    php生成带有csv附件的电子邮件-发送额外的(不正确的)版本

  21. 21

    打开带有附件的电子邮件

  22. 22

    如何使用vb.net中的默认电子邮件客户端发送带有附件的电子邮件

  23. 23

    mailjet以txt格式发送带有附件的电子邮件

  24. 24

    Excel VBA发送带有多个附件的电子邮件

  25. 25

    发送带有附件和签名的Outlook电子邮件

  26. 26

    在Delphi中发送带有附件的电子邮件

  27. 27

    php发送带有PDF附件的电子邮件

  28. 28

    发送带有附件..VBA代码的电子邮件

  29. 29

    Codeigniter发送带有附件的电子邮件

热门标签

归档