Python自动发送邮件提示:smtplib.SMTPServerDisconnected: please run connect() first
时间: 2024-03-24 20:37:30 浏览: 159
python自动化办公-smtplib 邮件自动发送.pdf
这个错误是因为在使用smtplib发送邮件之前,需要先连接到SMTP服务器。你可以使用smtplib.SMTP()函数来创建SMTP对象并连接到服务器。请确保在使用sendmail()函数发送邮件之前,已经成功连接到了SMTP服务器。以下是一个示例代码:
```python
import smtplib
# 设置发件人邮箱和密码
sender_email = 'your_email@example.com'
password = 'your_password'
# 创建SMTP对象并连接到服务器
smtp_server = 'smtp.example.com'
smtp_port = 587
smtp_obj = smtplib.SMTP(smtp_server, smtp_port)
smtp_obj.starttls()
smtp_obj.login(sender_email, password)
# 发送邮件
recipient_email = 'recipient@example.com'
subject = 'Test Email'
body = 'This is a test email sent from Python.'
message = f'Subject: {subject}\n\n{body}'
smtp_obj.sendmail(sender_email, recipient_email, message)
# 退出SMTP服务器
smtp_obj.quit()
```
在这个示例代码中,我们首先创建了一个SMTP对象并连接到SMTP服务器。然后我们使用login()函数来登录SMTP服务器。最后,我们使用sendmail()函数发送邮件。最后,我们使用quit()函数退出SMTP服务器。
阅读全文