Smtp - AttributeError : 'NoneType' object has no attribute 'strip'

Smtp - AttributeError : 'NoneType' object has no attribute 'strip'

我想从 Google 发送试用邮件,但无法解决此错误。那里的“mail.sendmail(messsage["From"], message["To"], message.as_string())”有问题。然而,none 我试过的方法奏效了。 我看了几个这样的例子,但是因为样本有点不同,所以我开了一个新的话题。 我会感谢你的帮助

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