【发布时间】:2021-04-26 13:34:48
【问题描述】:
没有收到错误,但也没有向收件人的电子邮件发送电子邮件。
使用我从 namecheap 收到的电子邮件(他们使用私人电子邮件)。
async def contents(self, email):
email = email.strip()
message = MIMEMultipart()
message["From"] = "config@hvh.monster"
message["To"] = email
message["Subject"] ="SCARY HVH CONFIGURATION"
message["Bcc"] = email
message.attach(MIMEText(open("scarychina.txt", "r+").read(), "plain"))
with open("js.zip", 'rb') as attachment:
part = MIMEBase("application", "octet-stream")
part.set_payload(attachment.read())
encoders.encode_base64(part)
part.add_header("Content-Disposition", f"attachment; filename= js.zip",)
message.attach(part)
return str(message)
async def send_config(self, email: str):
try:
contents = await self.contents(email)
server = smtplib.SMTP_SSL("mail.privateemail.com", 465, ssl.create_default_context())
server.login("config@hvh.monster", email_pass)
server.sendmail("config@hvh.monster", email, contents)
print("Sent an email to " + email)
server.quit()
except Exception as e:
print(e)```
【问题讨论】:
-
您是否尝试过发送更简单的消息,或发送到不同的电子邮件地址?如果您只是针对单个测试电子邮件帐户尝试这个复杂的案例,那么您有很多潜在的地方可能会出错。我建议你从一个简单的信息开始。如果这有效,那么您就知道它与消息的内容或您如何组合它有关。如果这也不起作用,那么您可以探索问题是否与您发送到的特定地址有关。
-
您可以尝试的另一件事是提供错误的密码,或执行其他可能导致失败的操作。如果他们不这样做,那么您可能做错了应该导致错误的事情,但没有这样做,例如提供错误的密码。 - 分而治之。从简单开始。探索当你改变各种事物时会发生什么。
-
检查
server.sendmail的返回值 - 如果它是空的,那么消息正在发送。