Python是一种广泛使用的高级编程语言,以其简洁的语法和强大的库支持而闻名。Flask是一个轻量级的Web应用框架,用Python编写,非常适合小型到中型项目。HTML表单允许用户输入数据,这些数据可以通过HTTP请求发送到服务器。
smtplib
和email
库。以下是一个简单的Flask应用示例,它接收HTML表单数据并通过电子邮件发送:
from flask import Flask, request, render_template_string
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
sender_email = "your_email@example.com"
receiver_email = "receiver_email@example.com"
password = "your_password"
message = MIMEMultipart("alternative")
message["Subject"] = "Form Submission"
message["From"] = sender_email
message["To"] = receiver_email
text = f"""\
Hi,
There is a new form submission:
Name: {request.form['name']}
Email: {request.form['email']}
Message: {request.form['message']}
"""
part1 = MIMEText(text, "plain")
message.attach(part1)
server = smtplib.SMTP('smtp.example.com', 587)
server.starttls()
server.login(sender_email, password)
text = message.as_string()
server.sendmail(sender_email, receiver_email, text)
server.quit()
return "Email sent!"
return render_template_string('''
<form method="post">
Name: <input type="text" name="name"><br>
Email: <input type="email" name="email"><br>
Message: <textarea name="message"></textarea><br>
<input type="submit" value="Submit">
</form>
''')
if __name__ == '__main__':
app.run(debug=True)
请注意,实际应用中应使用环境变量或配置文件来存储敏感信息,如电子邮件地址和密码,而不是直接硬编码在代码中。此外,对于生产环境,建议使用更安全的认证方法和邮件发送服务。
领取专属 10元无门槛券
手把手带您无忧上云