gpt4 book ai didi

python - 用Python发送电子邮件

转载 作者:行者123 更新时间:2023-12-01 04:40:21 26 4
gpt4 key购买 nike

我正在尝试使用 Python 3.3 发送基本电子邮件。我在这里跟踪第一段代码:

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

我的代码如下:

def emailCurrentRankings(recipientEmail):
fp = open('rankings.txt', 'rb')
msg = MIMEText(fp.read())
fp.close()

sender = 'bclayman@gmail.com'
msg['Subject'] = 'CSA Rankings'
msg['From'] = sender
msg['To'] = recipientEmail

s = smtplib.SMTP('localhost')
s.sendmail(sender, [recipientEmail], msg.as_string())
s.quit()

我的主函数像这样调用这个方法:

emailCurrentRankings('bclayman@gmail.com')

我能看出的唯一区别是我在第二行使用“rankings.txt”而不是文本文件。我尝试过两者并收到相同的错误消息:

Traceback (most recent call last):
File "helpfulFunctions.py", line 128, in <module>
main()
File "helpfulFunctions.py", line 120, in main
emailCurrentRankings('bclayman@gmail.com')
File "helpfulFunctions.py", line 106, in emailCurrentRankings
msg = MIMEText(fp.read())
File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/email/mime/text.py", line 34, in __init__
_text.encode('us-ascii')
AttributeError: 'bytes' object has no attribute 'encode'

当我用谷歌搜索时,似乎必须进行一些身份验证(让我能够从给定的电子邮件发送)。但我在其上建模代码的最基本示例并未提及这一点...

有什么想法我会误入歧途吗?

谢谢,BClayman

最佳答案

尝试在不使用二进制格式的情况下打开文件。

也许类似 -

fp = open('rankings.txt', 'r')

关于python - 用Python发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30821559/

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