Я недавно начал свое приключение с python и только через пару недель go я обнаружил flask. Я пытаюсь отправить электронное письмо с файлом output.csv, прикрепленным с использованием flask. Файл output.csv был сохранен в результате отправки формы html из моей формы. html page.
myform.py
from flask import Flask, render_template, request
from flask_mail import Mail, Message
import csv
app = Flask(__name__)
app.config.update(dict(
DEBUG = True,
MAIL_SERVER = 'smtp.gmail.com',
MAIL_PORT = 587,
MAIL_USE_TLS = True,
MAIL_USE_SSL = False,
MAIL_USERNAME = 'myemail@gmail.com',
MAIL_PASSWORD = '*****',
))
mail = Mail(app)
@app.route('/')
def myForm():
return render_template('form.html')
@app.route('/steptwo',methods = ['POST', 'GET'])
def steptwo():
if request.method == 'POST':
id = request.form['id']
name = request.form['name']
email = request.form['email']
website = request.form['website']
requestPhoneNr = request.form['requestPhoneNr']
requestTopic = request.form['requestTopic']
requestDescription = request.form['requestDescription']
requestOriginator = request.form['requestOriginator']
fieldnames = ['requestPhoneNr', 'requestTopic', 'requestDescription', 'requestOriginator']
with open('path/to/my/output.csv','a') as inFile:
writer = csv.DictWriter(inFile, fieldnames=fieldnames)
writer.writerow({'requestPhoneNr': requestPhoneNr, 'requestTopic': requestTopic, 'requestDescription': requestDescription, 'requestOriginator': requestOriginator})
msg = Message('Sample title', sender = 'myemai@gmail.com', recipients = ['myotheremail@gmail.com'])
msg.body = request.form['id'] + request.form['name'] + request.form['email'] + request.form['website']
with app.open_resource("path/to/my/output.csv") as fp:
msg.attach("path/to/my/output.csv", "text/csv", fp.read())
mail.send(msg)
return 'Thanks for your input!'
if __name__ == '__main__':
app.run(debug = True)
Решено !