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

Python中如何使用SSL连接发送和接收邮件

发布时间:2023-12-23 08:29:11

在Python中使用SSL连接发送和接收邮件时需要使用到smtplibimaplib库。

首先,导入所需的库:

import smtplib
import imaplib
import ssl

然后,设置一些必要的参数,例如SMTP服务器地址、SMTP端口号、IMAP服务器地址、IMAP端口号等:

smtp_server = 'smtp.example.com'
smtp_port = 465
imap_server = 'imap.example.com'
imap_port = 993

接下来,创建一个SSL连接以发送邮件:

def send_email(sender_email, receiver_email, password, subject, message):
    context = ssl.create_default_context()
    with smtplib.SMTP_SSL(smtp_server, smtp_port, context=context) as server:
        server.login(sender_email, password)
        server.sendmail(sender_email, receiver_email, f'Subject: {subject}

{message}')

调用send_email函数,传递发送者邮箱、接收者邮箱、发送者密码、邮件主题和消息内容作为参数,即可通过SSL连接发送邮件。

接下来,创建一个SSL连接以接收邮件:

def receive_email(email, password):
    context = ssl.create_default_context()
    with imaplib.IMAP4_SSL(imap_server, imap_port, context=context) as server:
        server.login(email, password)
        server.select('INBOX')
        result, data = server.search(None, 'ALL')
        email_ids = data[0].split()
        
        for email_id in email_ids:
            result, data = server.fetch(email_id, '(RFC822)')
            raw_email = data[0][1]
            # 解析邮件等操作
            # ...

调用receive_email函数,传递接收者邮箱和密码作为参数,即可通过SSL连接接收邮件。

以上是一个基本的使用SSL连接发送和接收邮件的示例。值得注意的是,根据实际情况可能需要更详细的配置,如使用SMTP和IMAP服务器的自定义端口号、验证方法、SMTP和IMAP类别等等。