Python Flask that fills out a form and sends an email via SES
This commit is contained in:
commit
b4beb3df46
47
flasktest1.py
Normal file
47
flasktest1.py
Normal file
@ -0,0 +1,47 @@
|
||||
from flask import Flask, render_template, request
|
||||
import boto3
|
||||
import logging
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
@app.route('/', methods=['GET', 'POST'])
|
||||
def index():
|
||||
if request.method == 'POST':
|
||||
name = request.form['name']
|
||||
phone = request.form['phone']
|
||||
address = request.form['address']
|
||||
comments = request.form['comments']
|
||||
#print(name,phone,address,comments)
|
||||
message = f"Name:{name}\nPhone:{phone}\nAddress:{address}\nComments:{comments}"
|
||||
subject=f"Message from {name} CallBack: {phone}"
|
||||
sendemail(message,subject)
|
||||
return render_template('greet.html', name=name, phone=phone, address=address, comments=comments)
|
||||
return render_template('form.html')
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(debug=True)
|
||||
def sendemail(body,subject):
|
||||
logging.info("Sending Email")
|
||||
boto3.setup_default_session(profile_name='default')
|
||||
sesclient=boto3.client('ses',region_name="us-east-2")
|
||||
recipients=['dan@hamik.net']
|
||||
CHARSET="UTF-8"
|
||||
response = sesclient.send_email(
|
||||
Destination={
|
||||
"ToAddresses":recipients
|
||||
},
|
||||
Message= {
|
||||
"Body": {
|
||||
"Html": {
|
||||
"Charset": CHARSET,
|
||||
"Data": body
|
||||
}
|
||||
},
|
||||
"Subject": {
|
||||
"Charset": CHARSET,
|
||||
"Data": subject
|
||||
},
|
||||
},
|
||||
Source='noreply@hamik.net'
|
||||
)
|
22
form.html
Normal file
22
form.html
Normal file
@ -0,0 +1,22 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Simple Web Form</title>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Enter your information:</h2>
|
||||
<form method="post">
|
||||
<label for="name">Name:</label><br>
|
||||
<input type="text" id="name" name="name" required><br>
|
||||
<label for="phone">Phone Number:</label><br>
|
||||
<input type="tel" id="phone" name="phone" pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}" placeholder="123-456-7890" required><br>
|
||||
<label for="address">Address:</label><br>
|
||||
<input type="text" id="address" name="address" required><br>
|
||||
<label for="comments">Comments:</label><br>
|
||||
<textarea id="comments" name="comments" rows="4" cols="50"></textarea><br><br>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
15
greet.html
Normal file
15
greet.html
Normal file
@ -0,0 +1,15 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Greeting</title>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Hello, {{ name }}!</h2>
|
||||
<p>Your phone number is: {{ phone }}</p>
|
||||
<p>Your address is: {{ address }}</p>
|
||||
<p>Comments:</p>
|
||||
<p>{{ comments }}</p>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user