当然,我可以为你提供一个简洁的Python示例,展示如何使用`smtplib`和`email`模块来发送邮件,以及使用`imaplib`来接收邮件。请注意,为了运行这些示例,你需要有有效的SMTP和IMAP服务器信息,比如Gmail、Outlook等。
### 发送邮件示例
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# 发件人信息
sender_email = "your_email@example.com"
password = "your_password" # 注意:实际使用中应避免硬编码密码
# 收件人信息
receiver_email = "receiver_email@example.com"
# 创建邮件对象
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = receiver_email
msg['Subject'] = "测试邮件"
# 邮件正文
body = "这是一个测试邮件。"
msg.attach(MIMEText(body, 'plain'))
# SMTP服务器配置
server = smtplib.SMTP('smtp.example.com', 587) # 根据你的邮箱服务器调整
server.starttls() # 开启TLS
server.login(sender_email, password)
# 发送邮件
text = msg.as_string()
server.sendmail(sender_email, receiver_email, text)
# 关闭服务器连接
server.quit()
print("邮件发送成功!")
### 接收邮件示例
请注意,由于`imaplib`直接操作比较底层,通常我们会使用`imapclient`或`email`模块中的`imaplib`配合更高级的库如`mailbox`来处理。这里提供一个基本的`imaplib`示例来接收邮件的邮件主题列表。
import imaplib
import email
# IMAP服务器配置
mail = imaplib.IMAP4_SSL('imap.example.com') # 根据你的邮箱服务器调整
mail.login('your_email@example.com', 'your_password') # 替换为你的邮箱和密码
# 选择邮箱中的"INBOX"
mail.select("inbox") # 邮箱中的收件箱
# 搜索邮件,这里以未读邮件为例
status, messages = mail.search(None, 'ALL')
messages = messages[0].split()
# 遍历邮件
for mail_id in messages:
_, msg_data = mail.fetch(mail_id, '(RFC822)')
# 解析邮件
for response_part in msg_data:
if isinstance(response_part, tuple):
msg = email.message_from_bytes(response_part[1])
email_subject = msg['subject']
email_from = msg['from']
print('From:', email_from)
print('Subject:', email_subject)
# 关闭连接
mail.close()
mail.logout()
请确保在真实环境中使用这些代码时,根据你的邮箱服务(如Gmail、Outlook等)调整SMTP和IMAP服务器的配置,并注意保护你的账号安全,避免在代码中硬编码密码等敏感信息。