Smtp - 属性错误:"NoneType"对象没有属性"strip"



我想从谷歌发送一封试用电子邮件,但我无法解决这个错误。";CCD_ 1";就在那里。然而,我尝试的方法都不起作用。我看了几个例子,但因为样本有点不同,我打开了一个新的主题。我将感谢您的帮助

class SendMail:
def __init__(self, email, auth):
self.email = email
self.auth = auth
self.send()

def send(self):
try:
mail = smtplib.SMTP("smtp.gmail.com", 587)
mail.ehlo()
mail.starttls()
mail.login("example@gmail.com", "password") 
message = MIMEMultipart()
message["Form"] = self.email
message["Subject"] = "Example Subject"

body = f"Test message : {self.auth}"

body_text = MIMEText(body, "plain")
message.attach(body_text)
mail.sendmail(messsage["From"], message["To"], message.as_string())
print("message was sent successfully..")
mail.close()
except Exception as e:
print(e)

正是错误消息:"NoneType"对象没有属性"strip">

您有行

message["Form"] = self.email

在您的代码中。这应该是

message["From"] = self.email

注意已更正的"From"拼写。在原始代码中,当您将messsage["From"]传递给mail.sendmail时,您实际上并没有给它一个值,因为您从未设置过它。这会导致在它试图操纵值时引发错误。

此外,您似乎没有在任何位置设置message["To"],但再次将未设置的值传递给mail.sendmail

最新更新