from flask import Flask, render_template, request, jsonify
from flask_mail import Mail, Message
from flask import Flask, render_template

app = Flask(__name__, template_folder='.')

# Configuración del servidor de correo
app.config['MAIL_SERVER'] = 'mail.zplay.cl'  # Cambiar según tu proveedor SMTP
app.config['MAIL_PORT'] = 465
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = 'contactos@zplay.cl'  # Correo desde donde se envían los mensajes
app.config['MAIL_PASSWORD'] = 'g[Gmca++5@gN'          # Contraseña o clave de aplicación
app.config['MAIL_DEFAULT_SENDER'] = ('ZPlay Media', 'contactos@zplay.cl')

mail = Mail(app)

# Ruta principal para la página
@app.route('/')
def index():
    return render_template('index.html')

# Ruta para manejar el formulario de contacto
@app.route('/send_contact', methods=['POST'])
def send_contact():
    try:
        # Obtener datos del formulario
        nombre = request.form.get('nombre')
        correo = request.form.get('correo')
        telefono = request.form.get('telefono', 'No proporcionado')
        mensaje = request.form.get('mensaje')

        # Validar campos requeridos
        if not nombre or not correo or not mensaje:
            return jsonify({'success': False, 'message': 'Por favor completa todos los campos requeridos.'}), 400

        # Validar correo electrónico
        if '@' not in correo or '.' not in correo:
            return jsonify({'success': False, 'message': 'Correo electrónico no válido.'}), 400

        # Enviar correo al administrador
        admin_message = Message(
            subject=f"Nuevo mensaje de contacto de {nombre}",
            recipients=["contactos@zplay.cl"],  # Correo del administrador
            html=f"""
            <h1>Nuevo mensaje de contacto</h1>
            <p><strong>Nombre:</strong> {nombre}</p>
            <p><strong>Correo:</strong> {correo}</p>
            <p><strong>Teléfono:</strong> {telefono}</p>
            <p><strong>Mensaje:</strong></p>
            <p>{mensaje}</p>
            """
        )
        mail.send(admin_message)

        # Enviar correo de confirmación al usuario
        user_message = Message(
            subject="Confirmación de recepción - ZPlay Media",
            recipients=[correo],
            html=f"""
            <h1>Gracias por contactarnos</h1>
            <p>Hola {nombre},</p>
            <p>Hemos recibido tu mensaje y nos pondremos en contacto contigo lo antes posible.</p>
            <p>Este fue el mensaje que enviaste:</p>
            <blockquote>{mensaje}</blockquote>
            <p>Atentamente,</p>
            <p><img src="https://zplay.cl/images/logo.jpg" alt="ZPlay Media"></p>
            """
        )
        mail.send(user_message)

        # Respuesta exitosa
        return jsonify({'success': True, 'message': '¡Mensaje enviado correctamente!'})
    except Exception as e:
        # Manejo de errores
        return jsonify({'success': False, 'message': f"Error al enviar el mensaje: {str(e)}"}), 500

if __name__ == '__main__':
    app.run(debug=True)