【发布时间】:2020-04-17 08:43:15
【问题描述】:
我在发送电子邮件时遇到了麻烦,而无需启用谷歌安全性较低的应用程序:https://myaccount.google.com/lesssecureapps。如何修改 Python 中的代码,以便无需启用它就可以发送电子邮件?我需要禁用此选项,因为我正在构建一个应用程序,用户可以在其中向开发人员发送反馈电子邮件,因此我不能强制用户启用安全性较低的应用程序。 我的 Python 代码:
def send_email(self):
print("send e-mail to developer")
sender_email = self.email.text
sender_password = self.password.text
sender_feedback = self.feedback_message.text
print("email is: ", type(sender_email))
print("pass is: ", sender_password)
print("feedback message is: ", sender_feedback)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls() # encrypt connection
server.login(sender_email, sender_password)
subject = 'Feedback'
msg = sender_feedback
msg = f"Subject: {subject} \n\n {msg}"
server.sendmail(
# from,to,message
sender_email,
'my_email@gmail.com',
msg
)
print("E-MAIL HAS BEEN SENT!")
server.quit()
【问题讨论】:
-
电子邮件被垃圾邮件发送者破坏,基本上不可能做对。您将与垃圾邮件过滤器、退回、拒绝、DKIM 等作斗争。我将设置一个简单的 HTTP 表单 - 从程序发送表单将非常简单。而且您的客户不应该在您的程序中输入他们的电子邮件密码 - 您可能会因此而被禁止使用 GMail。
-
@Tometzky 以及如何使用桌面应用程序中的 HTTP 表单?如果他们不给我发电子邮件,我怎么知道是哪个用户发送了此表单?
-
为什么 Web 应用程序需要用户帐户凭据才能向您发送电子邮件?
-
@KlausD。用户如何在无需输入凭据的情况下发送反馈?你们还提供什么其他解决方案?
标签: python email smtplib feedback