Cómo codificar este programa en python

Aquí hay algunos fragmentos de cómo funciona la mina, que podrían ser de ayuda.

El usuario envía su información a través de un formulario …

La ruta del matraz ‘/ email-sub /’ luego valida el correo electrónico (aunque puede hacer que su formulario lo haga) y luego envía un correo electrónico: la dirección de correo electrónico se serializa en una clave secreta y se pasa al correo electrónico …

# Suscripción de e-mail
@ app.route (‘/ email-sub /’, métodos = [‘GET’, ‘POST’])
def email_sub ():
email = request.form [’email_subs’]
# validación básica
si no ‘@’ en el correo electrónico:
flash (‘ingrese una dirección de correo electrónico válida. Ingresó {}.’. formato (correo electrónico))
redirección de retorno (request.referrer)
más:
s = URLSafeSerializer (‘clave secreta’)
secret_email = s.dumps (correo electrónico)
send_email (email, ‘¡allí!’, secret_email, ‘Suscribiéndose!’)
flash (‘¡Por favor revise su correo electrónico!’)
redirección de retorno (request.referrer)

La función de envío de correo electrónico …

def send_email (correo electrónico, nombre, clave_enlace, asunto, mensaje = Falso):

# enviar correo electrónico con enlace de confirmación !!
gmail_user = ”
gmail_pwd = ”
a = correo electrónico

smtpserver = smtplib.SMTP (“smtp.gmail.com”, 587)
smtpserver.ehlo ()
smtpserver.starttls ()
smtpserver.ehlo
smtpserver.login (gmail_user, gmail_pwd)
header = ‘To:’ + to + ‘\ n’ + ‘From:’ + gmail_user + ‘\ n’ + ‘Asunto:’ + subject + ‘\ n’
si mensaje:
msg = encabezado + msg
más:
msg = encabezado + ” ‘
Gracias por suscribirse, para evitar el spam, haga clic aquí para confirmar http://www.craigaddyman.com/sub/ ” ‘+ link_key +’ ”
” ‘
smtpserver.sendmail (gmail_user, to, msg)
smtpserver.close ()

Luego, una vez que haga clic en el enlace, la clave secreta no se cifra y se agrega a la base de datos, en este caso, estoy usando MongoDB …

@ app.route (‘/ sub / ‘, métodos = [‘GET’, ‘POST’])
def suscribirse (clave):
s = URLSafeSerializer (‘clave secreta’)
email = s.loads (clave)
mdb = client.blog
mdb.subscriberssub.update ({‘usuario’: correo electrónico}, {‘usuario’: correo electrónico}, upsert = True)

Lo bueno de esto es que el usuario debe confirmar el correo electrónico antes de que llegue a mi base de datos y no antes, esto ayuda a reducir el spam, etc.

También hay una ruta para darse de baja, esto simplemente hace lo mismo, aunque elimina el correo electrónico de la base de datos en lugar de agregarlo.

**Renuncia**

Escribí este código hace bastante tiempo y podría funcionar con la actualización y el orden, pero funciona 🙂

Básicamente, usted quiere una tienda de mi formulario de dirección de “correo electrónico”, que no es más que un formulario de contacto almacenado en una base de datos

Introducción al matraz: Agregar una página de contacto

El Mega Tutorial del Frasco, Parte III: Formularios web

El Mega Tutorial del Frasco, Parte IV: Base de datos

Estas cosas deberían prepararlo para todo lo que necesita
También tenga en cuenta que el mega tutorial es muy bueno para todo lo que necesita hacer, cómo estructurar esto. Si comienza con el paso 1 y repasa toda la serie de tutoriales, lo tendrá en funcionamiento en poco tiempo