python - 使用 python3 发送一封简单的电子邮件
问题描述
我正在尝试在 python3 上发送电子邮件。我正在将电子邮件转发到中继服务器。我已经在线学习了几个教程,并且都给了我相同的错误消息。不知道如何修复它。
Traceback (most recent call last):
File "testEmail.py", line 17, in <module>
msg['Subject'] = "Test mail"
TypeError: 'str' object does not support item assignment
#!/usr/bin/python3
import smtplib
port = 25
msg = "This is test mail"
msg['Subject'] = "Test mail"
msg['From'] = 'test@test.com'
msg['To'] = 'my-name@test2.com'
s = smtplib.SMTP('10.1.2.3', port)
s.send_messsage(msg)
s.quit()
print("Successfully sent email")
解决方案
根据文档中的所有示例,msg
需要一个EmailMessage
.
msg = EmailMessage()
msg.set_content("This is test mail")
msg['Subject'] = "Test mail"
...
使用模块时最好阅读基本的官方文档和示例,这样您就不会错过这样的基本内容。
推荐阅读
- html5-canvas - 分组形状上的硬币旋转效果动画
- python - 无法使用 Scrapy 从父节点和子节点/标签获取文本
- python - 按特定顺序连接点
- kotlin - 如何使用 runBlocking 等待 CoroutineScope 的完成
- javascript - gridstack.js:添加的小部件现在可拖动
- php - 如何使用 PHP 将元素的键值推送到 array_push
- android - 如何将 3d 模型 (.obj) 导入 Android Studio?
- java - JavaFX:为什么 Window.xProperty() 和 Window.yProperty() 在有设置器时只读?
- javascript - 使用变量访问对象属性,如果不存在则回退到默认属性
- android - 不同厂家的区别