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

使用Python的CGI模块实现电子邮件发送功能

发布时间:2023-12-15 10:13:40

CGI (Common Gateway Interface)是一种用于Web服务器和应用程序之间交互的标准。通过CGI模块,Python可以作为一种脚本语言被Web服务器调用。在本篇文章中,将使用Python的CGI模块实现电子邮件发送功能,并提供一个使用例子。

首先,确保你已经安装了Python。CGI模块是Python标准库的一部分,因此无需额外安装。

接下来,创建一个新的Python脚本文件,并命名为send_email.py。在这个脚本中,我们将使用Python的smtplib模块来发送邮件。以下是一个简单的发送邮件的例子:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import smtplib
from email.mime.text import MIMEText

# 配置邮件服务器的信息
MAIL_HOST = "smtp.example.com"        # 邮件服务器地址
MAIL_PORT = 465                       # 邮件服务器端口
MAIL_USER = "your_email@example.com"  # 邮箱账号
MAIL_PASSWORD = "your_email_password" # 邮箱密码

def send_email(to_email, subject, content):
    # 创建邮件内容
    msg = MIMEText(content, "plain", "utf-8")
    msg["Subject"] = subject
    msg["From"] = MAIL_USER
    msg["To"] = to_email

    # 发送邮件
    try:
        server = smtplib.SMTP_SSL(MAIL_HOST, MAIL_PORT)
        server.login(MAIL_USER, MAIL_PASSWORD)
        server.sendmail(MAIL_USER, [to_email], msg.as_string())
        server.quit()
        return True
    except Exception as e:
        print("Failed to send email. Error: %s" % str(e))
        return False

# 使用示例
if __name__ == "__main__":
    to_email = "recipient@example.com"  # 收件人邮箱地址
    subject = "Hello, CGI!"              # 邮件主题
    content = "This is a test email."    # 邮件内容

    if send_email(to_email, subject, content):
        print("Email sent successfully.")
    else:
        print("Failed to send email.")

以上脚本中,首先定义了邮件服务器的信息,包括服务器地址、端口、邮箱账号和密码。然后定义了一个send_email函数,该函数接收收件人邮箱地址、邮件主题和内容作为参数,使用smtplib模块发送邮件。

在使用例子中,我们传入了收件人邮箱地址、邮件主题和内容,并调用send_email函数发送邮件。发送成功时,将打印"Email sent successfully.",否则打印"Failed to send email."。

保存并运行该脚本。如果一切正常,将在控制台上看到"Email sent successfully."的输出,并且收件人将收到一封电子邮件。

需要注意的是,该例子中使用了SMTP_SSL方法进行加密的邮件发送。如果你的邮件服务器不需要加密,可以更改为使用SMTP方法,不需要导入SMTP_SSL模块。

请替换示例代码中的邮件服务器信息、邮箱账号和密码,并根据自己的需要更改邮件内容。另外,你可能也需要修改脚本的shebang行(

)为适合你系统的路径。

综上所述,使用Python的CGI模块实现电子邮件发送功能可以提供一种简单而高效的方法。通过CGI模块,Python可以方便地与Web服务器交互,并实现更多Web应用的功能。