我正在为我的应用程序构建注册系统,最近我添加了发送邮件功能,即注册成功后,用户应该会收到一封电子邮件。因此,所有要点是我在变量方面遇到了问题。例如,我有一个包含注册,登录过程的主文件,要发送电子邮件,我创建了另一个模块email.py
,因此问题在于在主python文件中注册后,用户名存储在数据库中,对于某些用户名我也将其另存为字符串的原因。导入电子邮件发送功能后,我要执行此操作,在发送电子邮件时,应显示“ Hello,Adam”。亚当只是一个例子。
这只是一个注册过程。我用来导入其他模块的命令是
from email import send_mail
,但我无法处理主文件中其他模块中的变量。
这是来自python主模块的代码。
def Register_Username():
while Registracija:
Register_Username = input("Please create an username ")
if Banned_IP_ADRESS == 'NOT-BANNED':
for char in Register_Username:
if len(Register_Username) < 3 or len(Register_Username) > 20 or char in '!@4*%>' or " " in Register_Username:
os.system('cls')
print("[Username] : Bad Formating.")
time.sleep(2)
os.system('cls')
continue
else:
time.sleep(1)
return Register_Username
else:
print("Current IP {} is banned!".format(Banned_IP_ADRESS))
time.sleep(5)
break
!同样,从注册返回字符串之后,我使用-Registered_Account_Username = Register_Username()
,以获取用户输入的字符串并将其发送到email.py。
这是email.py
模块中的文件。
import smtplib
print(siuntimo_vardas)
def send_mail():
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login('huj417z@gmail.com', 'sadagf')
subject = 'Account {} has been created!'.format(Registered_Account_Username)
body = 'Our tema is reviewing our '
image = 'image123.jpg'
attachmentas = open(image, 'rb')
msg = f"Subject : {subject}\n\n{body} \n{attachmentas}"
server.sendmail(
'huj417z@gmail.com',
'huj417z@gmail.com',
msg
)
print("Email has been sent!")
server.quit()
send_mail()