欢迎访问宙启技术站
智能推送

使用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实现邮件发送与接收功能的简单示例,你可以根据自己的需求对代码进行修改和扩展。