【发布时间】:2020-04-23 12:19:57
【问题描述】:
我正在尝试使用 smtplib 发送一封电子邮件以获取从 mysql 数据库中获取的值。这是代码:
db = pymysql.connect('localhost', 'root', 'Gandharv@4me', 'ashmita')
cursor = db.cursor()
sql_query = "SELECT * FROM employees1 WHERE fname = 'gandharv' "
cursor.execute(sql_query)
result = cursor.fetchall()
for row in result:
firstname = row[0]
lastname = row[1]
role = row[2]
response = """ First Name : {}, Last Name: {}, Role : {} """.format(
firstname, lastname, role)
mail = smtplib.SMTP('smtp.gmail.com', '587')
content="FirstName: "+firstname+" Lastname: " +lastname + "Role: ",role
mail.ehlo()
mail.starttls()
mail.login('abc@gmail.com', 'myPassword')
mail.sendmail('abc@gmail.com',
'bcd@gmail.com', content)
mail.close()
print(response)
如果我使用 content="knsdlkds",它可以正常工作,但如果我使用 content =response 或 content="FirstName: "+firstname+" Lastname: " +lastname + "Role: ",role 它给了我 TypeError: expected string or bytes-like object。 这可以通过强制转换来解决吗?
【问题讨论】: