python - 如何从电子邮件 Python 中删除多余的语法?

标签 python gmail

我正在编写一个脚本,用于向在 Python 中使用 gmail 的人发送新的用户名和密码。问题是消息中出现了多余的语法,这不是我想要的。

#Sending Email containing new Username and Password
            Sub=("Password Change Request")
            Msg=("Hello, you have requested a Username and Password change."
                 "Your new credentials are Username: ",Username,"Password: ",Password,"")
            REmail=EmailF.get()
            try:
                server = smtplib.SMTP('smtp.gmail.com:587')
                server.ehlo()
                server.starttls()
                server.login(config.EMAIL_ADDRESS, config.PASSWORD)
                message = "Subject: {} \n\n {}".format(Sub, Msg)
                server.sendmail(config.EMAIL_ADDRESS, REmail, message)
                server.quit()
                print("Success!")

变量用户名和密码是随机字符串。生成的电子邮件示例如下所示:

('Hello, you have requested a Username and Password change.Your new credentials are Username: ',
 'foo', 'Password: ', 'bar', '')

它应该是:您好,您已请求更改用户名和密码。 您的新凭据是 用户名: 用户名 密码: 密码

最佳答案

做的时候

message = "Subject: {} \n\n {}".format(Sub, Msg)

您正在将 Msg 传递给 str.formatMsg 是一个 tuple,因此 str.format 尝试将其转换为可表示/可打印的形式以用于调试目的。是的,您不想发送带有此信息的邮件。

相反,将 Msg 创建为字符串,也使用 str.format:

Msg="Hello, you have requested a Username and Password change.\nYour new credentials are Username: {}, Password: {}".format(Username,Password)

如果字符串太长,您可以将其剪切并添加括号,但不要添加任何逗号(因为 tuple 会返回来咬您)

Msg=("Hello, you have requested a Username and Password change.\n"
 "Your new credentials are Username: {}, Password: {}").format(Username,Password)

关于python - 如何从电子邮件 Python 中删除多余的语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52913312/

相关文章:

Python + 外籍人士 : Error on � entities

python - Beautifulsoup:当我尝试使用 Beautifulsoup4 访问 soup.head.next_sibling 值时换行

ruby-on-rails - 尝试在 RoR 应用程序中发送电子邮件时遇到 SMTP 错误

android - 如何打开 Gmail 查看邮件 Activity ?

php - imap_open() : Couldn't open stream

python - 删除textarea标签中的%s python

python 函数中的逐元素运算

python - 在数据框中进行分组并将完整行的列表传递给归约函数

gmail - 如何从 gmail api 获取 "All Mail"标签?

Android Gmail 应用程序不会在 HTML 电子邮件中呈现背景图像