使用Python编写的WebAPI如何实现邮件发送与接收功能
发布时间:2024-01-01 22:40:28
在Python中,我们可以使用smtplib库来实现邮件发送功能,使用imaplib库来实现邮件接收功能。下面是一个使用例子:
邮件发送:
import smtplib
from email.mime.text import MIMEText
def send_email(sender, receiver, subject, message):
# 初始化邮件内容
msg = MIMEText(message)
msg['Subject'] = subject
msg['From'] = sender
msg['To'] = receiver
# 连接SMTP服务器
server = smtplib.SMTP('smtp.example.com', 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login('username', 'password')
# 发送邮件
server.sendmail(sender, receiver, msg.as_string())
server.quit()
# 使用例子
sender = 'sender@example.com'
receiver = 'receiver@example.com'
subject = 'Hello'
message = 'This is a test email.'
send_email(sender, receiver, subject, message)
邮件接收:
import imaplib
def read_emails(username, password):
# 连接IMAP服务器
mail = imaplib.IMAP4_SSL('imap.example.com')
mail.login(username, password)
mail.select('inbox')
# 搜索邮件
result, data = mail.search(None, 'ALL')
email_ids = data[0].split()
emails = []
# 获取邮件内容
for email_id in email_ids:
result, data = mail.fetch(email_id, '(RFC822)')
raw_email = data[0][1]
# 解析邮件内容
email = email.message_from_bytes(raw_email)
emails.append(email)
mail.logout()
return emails
# 使用例子
username = 'username'
password = 'password'
emails = read_emails(username, password)
for email in emails:
print("From:", email['From'])
print("Subject:", email['Subject'])
print("Body:", email.get_payload())
print("------------")
以上是使用Python编写的WebAPI实现邮件发送与接收功能的简单示例,你可以根据自己的需求对代码进行修改和扩展。
