使用Python的CGI模块实现电子邮件发送功能
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应用的功能。
