У меня есть контактная форма, написанная в html и flask, где пользователь должен ввести информацию в виде имени, адреса электронной почты, номера телефона и сообщения обратной связи. Код для отправки отзыва на мой e-mail сделан в python, наряду с подтверждением для электронного письма, введенного пользователем. До сих пор мне удалось распечатать сообщения в консоли, которые показывают, что проверка работает правильно. Но как я могу сообщить пользователю, что введенная им электронная почта не является действительной или что электронная почта была отправлена, когда все поля заполнены правильно? Я приложил код python для отправки и проверки электронного письма.
import smtplib # mail protocol
from validate_email import validate_email
import os
def check_email(sender_email):
is_email_valid = validate_email(sender_email)
print('is MAIL VALID? ', is_email_valid)
if is_email_valid:
print("valid e-mail")
else:
print("please enter a valid e-mail address")
return is_email_valid
def send_email(sender_email, sender_name, sender_feedback,sender_phone):
try:
print("send e-mail to developer")
print("email is: ", sender_email)
print("name is: ", sender_name)
print("feedback message is: ", sender_feedback)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls() # encrypt connection
# environment variables->used to hide sender's e-mail and password
app_email = os.environ.get("SENDER_EMAIL")
app_password = os.environ.get("SENDER_PASSWORD")
server.login(app_email, app_password)
subject = f"New feedback from: {sender_name}"
msg = sender_feedback
msg = f"Subject: {subject} \n\n Sender's feedback: {msg} \n\n Sender's e-mail: {sender_email} \n \n Sender's phone number: {sender_phone}"
is_email_valid = check_email(sender_email)
if ((not sender_name and not sender_email and not sender_feedback) or (
not sender_email and not sender_feedback) or (not sender_email and not sender_name) or (
not sender_name and not sender_feedback)):
print('please fill the empty fields')
elif not sender_feedback: # check if empty feedback message
print("Please enter a feedback message.")
elif not sender_email:
print("Please enter your e-mail.")
elif not sender_name:
print("Please enter your name.")
else:
if is_email_valid:
print("Thank you for your message. We will get back to you shortly.")
server.sendmail(
# from,to,message
'my_email_2@gmail.com',
'my_email@gmail.com',
msg
)
print("E-MAIL HAS BEEN SENT!")
server.quit()
except Exception as e:
print(e)
print('Problem with feedback_popup(e-mail)')
pass