Flask ile kullanıcıdan gelen mesajı belirli mail adresine gönderme nasıl yapılır?

buyuksel

Kilopat
Katılım
8 Ocak 2017
Mesajlar
1.016
Çözümler
3
HTML form ile kullanıcıdan name, Phone, mail ve mesaj alıp yazılan mesajı kendi mailime göndermek istiyorum fakat uygulama tepki vermiyor.
Ne yaptıysam formdaki bilgileri mailime alamadım. Bir yerde hata mı var?

HTML:
<section class="contact" id="contact">

        <h2 class="heading">Contact <span>Me!</span></h2>

        <form id="myForm" action="/users" method="post">
            <div class="input-box">
                <input type="text" name="name" placeholder="Name & Surname" required>
                <input type="email" name="email" placeholder="Email Address" required>
                <input type="tel" name="phone" placeholder="Phone Number" required>
            </div>

            <textarea name="message" id="message" cols="30" rows="10" placeholder="Your Message" required></textarea>
            <input type="submit" name="send" value="Send Message" class="btn">
            <div id="notification" style="color: limegreen; font-size: 18px; margin-top: 5px;"></div>
        </form>

    </section>

Python:
from flask import Flask, render_template, request, jsonify
from flask_mail import Mail, Message

app = Flask(__name__, template_folder='template')

app.config['MAIL_SERVER'] = 'smtp.gmail.com'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True
app.config['MAIL_USERNAME'] = '[email protected]'
app.config['MAIL_PASSWORD'] = 'wovivtrwmfzedsef'

mail = Mail(app)

@app.route("/")
def home():
    return render_template("index.html", hata="")

@app.route("/users", methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        name = request.form.get('name')
        phone = request.form.get('phone')
        email = request.form.get('email')
        message = request.form.get('message')

        if not name or not phone or not email or not message:
            return render_template("index.html")
        else:
            msg = Message('Bu bir deneme mesajıdır', sender=email, recipients=['[email protected]'])
            msg.body = f"Name: {name}\nPhone: {phone}\nEmail: {email}\nMessage: {message}"

            mail.send(msg)

            # return render_template("index.html", name=name, phone=phone, email=email, message=message, success_message="Your message has sent!")

        return jsonify({"success": True})

    return render_template("index.html", hata="")

if __name__ == "__main__":
    app.run(debug=True)

Oradaki şifreyi görüp hemen hesap çalmaya vakit harcamayın.
 
Son düzenleyen: Moderatör:

Yeni konular

Geri
Yukarı