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

Python中Client()模块实现邮件发送和接收的方法和示例代码

发布时间:2024-01-16 18:32:11

在Python中,可以使用smtplib和poplib模块来实现邮件的发送和接收。

邮件发送:

要发送邮件,首先需要创建一个SMTP对象,然后使用它的方法来发送邮件。

示例代码如下:

import smtplib
from email.mime.text import MIMEText

def send_email(sender, receiver, subject, message):
    # 服务器地址和端口号
    smtp_server = 'smtp.example.com'
    smtp_port = 587

    # 邮件内容
    msg = MIMEText(message)
    msg['Subject'] = subject
    msg['From'] = sender
    msg['To'] = receiver

    # 登录SMTP服务器
    smtp = smtplib.SMTP(smtp_server, smtp_port)
    smtp.starttls()
    smtp.login(sender, 'password')

    # 发送邮件
    smtp.sendmail(sender, receiver, msg.as_string())

    # 退出SMTP服务器
    smtp.quit()

# 使用示例
sender = 'sender@example.com'
receiver = 'receiver@example.com'
subject = 'Test Email'
message = 'This is a test email.'
send_email(sender, receiver, subject, message)

邮件接收:

要接收邮件,首先需要创建一个POP3对象,然后使用它的方法来登录邮箱并获取邮件。

示例代码如下:

import poplib

def receive_email(username, password):
    # 邮件服务器地址
    pop3_server = 'pop.example.com'
    pop3_port = 995

    # 登录POP3服务器
    pop3 = poplib.POP3_SSL(pop3_server, pop3_port)
    pop3.user(username)
    pop3.pass_(password)

    # 获取邮件
    num_messages = len(pop3.list()[1])
    for i in range(num_messages):
        msg_lines = pop3.retr(i + 1)[1]
        msg = b'\r
'.join(msg_lines).decode('utf-8')
        # TODO: 处理邮件内容

    # 退出POP3服务器
    pop3.quit()

# 使用示例
username = 'username'
password = 'password'
receive_email(username, password)

以上是使用smtplib和poplib模块实现邮件发送和接收的方法和示例代码。在实际使用中,需要根据自己的邮箱配置和需求进行相应的修改。