我想从谷歌发送一封试用电子邮件,但我无法解决这个错误。";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
。