gpt4 book ai didi

python - 在 Python 中使用 SSL 通过电子邮件发送 Excel 工作表

转载 作者:太空宇宙 更新时间:2023-11-03 15:07:31 24 4
gpt4 key购买 nike

这是我的第一篇文章,如果有任何我应该知道的常见礼节,请告诉我。

我 8 个月前才开始编程,所以我还是个新手。我一直在做一些项目来变得更好。我现在正在处理的一个项目根据输入的数据创建一个 Excel 工作表。它是用 Python 编写的,我几周前才开始学习它。我正在尝试将此 Excel 工作表的一部分嵌入到从我的学校地址发送的电子邮件中。我花了数小时查找此内容,但无济于事。

有两个问题我想寻求帮助:

1) 以下代码适用于从 GMail 发送电子邮件,但不适用于我的学校帐户。不幸的是,我在 iPhone 上为该帐户设置外发电子邮件时也遇到了问题。可能有关系?有人知道为什么这段代码不起作用吗?

import smtplib
from email.MIMEText import MIMEText

LOGIN = 'myemailaddress'
PASSWORD = 'mypassword'


def send_email(subject, message, from_addr=LOGIN, to_addr=LOGIN):
msg = MIMEText(message)
msg['Subject'] = subject
msg['From'] = from_addr
msg['To'] = to_addr

server = smtplib.SMTP('myhost',465)
server.ehlo()
server.starttls()
server.ehlo()
server.login(LOGIN,PASSWORD)
server.sendmail(from_addr, to_addr, msg.as_string())
server.close()


if __name__=="__main__":
send_email('test', 'This is a test email', "myemailaddress", "myemailaddress")

2) Excel 具有将工作表另存为 HTML 的选项。这样做时,我复制并粘贴了 HTML 源代码并将其作为附件通过电子邮件发送。不幸的是,彩色文字没有转移过来。有谁知道使用 Python 发送嵌入电子邮件的 Excel 工作表的更好方法?

感谢您的帮助!

最佳答案

需要更多信息来确定实际错误。为此,请打开 smtplib 模块的调试日志记录,您可以通过在 ehlo() 之前添加以下行来执行此操作。

server.set_debuglevel(True)

如果 myhost 是学校的邮件服务器,那么问题很可能是学校邮件服务器没有在端口 465 上监听。如果 myhost 是 Google 的邮件服务器,那么很可能是端口 465 (SMTPS) 被学校网络阻止了.

研究非文本文件和内容如何包含在电子邮件中(即 MIME 附件)。如果您想将 html 附加到电子邮件中,但如果只是想发送 Excel 电子表格,那么请附加电子表格 - 无需将其转换为 HTML。这是关于执行此操作的代码的 StackOverflow 帖子:How to send email attachments with Python

关于python - 在 Python 中使用 SSL 通过电子邮件发送 Excel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2846294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com