发送整数 Subjects/Verifying 数字的电子邮件:Python

Sending Emails with Integer Subjects/Verifying Numbers: Python

我正在做一个个人项目,你输入凭据(模拟网站注册)并将它们存储在 Google 表格文档中。我使用 smtplib 发送带有验证码的电子邮件。我在执行此操作时遇到了两个问题: 1. 我有一个变量,verification_code,我将其设置为我的验证码(我打算以后是随机的)。问题是,当我尝试将其作为整数发送时,出现此错误:

Traceback (most recent call last):
  File "/Users/user/PycharmProjects/sign-up test enviroment/main.py", line 92, in <module>
    verify_email()
  File "/Users/user/PycharmProjects/sign-up test enviroment/main.py", line 62, in verify_email
    msg.attach(MIMEText(message, 'plain'))
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/email/mime/text.py", line 34, in __init__
    _text.encode('us-ascii')
AttributeError: 'int' object has no attribute 'encode'

但是,当我使用 '' 将整数设置为字符串时,它发送得很好。问题是我无法这样做,因为我尝试检查输入的变量 entered_code(通过用户输入输入)是否与设置为变量 verification_code 的预定义整数相匹配。这是我的代码,我用它来检查用户输入的代码是否与预定义的代码匹配 (verification_code):

def enter_verification_code():
    global verification_code, entered_code
    entered_code = int(input("Please enter the verification code sent to " + user_email + ': '))
    if verification_code == entered_code:
        print('Thank you for verifying your account!')
        store_info()
        exit()
    elif verification_code != entered_code:
        entered_code = int(input("Please enter the verification code sent to " + user_email + ': '))
        enter_verification_code()

我想知道是否有办法通过电子邮件将我的变量作为整数发送,或者是否有更好的方法来验证输入的代码是否与我在开始时定义的代码匹配项目。谢谢!

您可以使用 str() 这样用户可以粘贴代码然后使用 int() 转换它以在您的代码中验证它

def enter_verification_code():
    global verification_code, entered_code
    entered_code = input("Please enter the verification code sent to " + user_email + ': ')
    if verification_code == int(entered_code):
        print('Thank you for verifying your account!')
        store_info()
        exit()
    elif verification_code != entered_code:
        entered_code = int(input("Please enter the verification code sent to " + user_email + ': '))
        enter_verification_code()