Python错误:';元组';对象没有属性';编码';
我所做的是从网页中获取信息,并尝试将其以如下格式发送到电子邮件中: 名字:First\n#First是一个变量 Last Name:Last#Last是一个变量 下面是我的代码:Python错误:';元组';对象没有属性';编码';,python,email,smtplib,Python,Email,Smtplib,我所做的是从网页中获取信息,并尝试将其以如下格式发送到电子邮件中: 名字:First\n#First是一个变量 Last Name:Last#Last是一个变量 下面是我的代码: import smtplib import base64 from email.MIMEMultipart import MIMEMultipart from email.mime.text import MIMEText msg = MIMEMultipart('relative') msg['Subject']
import smtplib
import base64
from email.MIMEMultipart import MIMEMultipart
from email.mime.text import MIMEText
msg = MIMEMultipart('relative')
msg['Subject'] = 'Confirmation E-Mail'
msg['From'] = "none"
msg['To'] = email
text1 = "First Name: ", first_name, "<br>Last Name: ", last_name
part1 = MIMEText(text1, 'html')
s = smtplib.SMTP('localhost')
s.sendmail(email, email, msg.as_string())
s.quit()
导入smtplib
导入base64
从email.MIMEMultipart导入MIMEMultipart
从email.mime.text导入MIMEText
msg=MIMEMultipart('relative')
msg['Subject']=“确认电子邮件”
msg['From']=“无”
msg['To']=电子邮件
text1=“名字:”,名字,
姓氏:”,姓氏
part1=MIMEText(text1,'html')
s=smtplib.SMTP('localhost')
s、 sendmail(电子邮件、电子邮件、msg.as_string())
s、 退出
名字和姓氏将从网页中提取 您需要将第1部分附加到消息:
msg.attach(part1)
您还可以在中找到如何发送多部分电子邮件的好例子,您需要将第1部分附加到msg:
msg.attach(part1)
您还可以在MIMEText中找到一个很好的示例,说明如何发送多部分电子邮件,它将字符串作为第一个参数。您正在将text1创建为元组。你需要更像
"First Name: %s\nLast Name: %s" % (first_name, last_name)
MIMEText将字符串作为其第一个参数。您正在将text1创建为元组。你需要更像
"First Name: %s\nLast Name: %s" % (first_name, last_name)
虽然这个问题已经得到了回答,但我只想补充一句:您写的“其余错误”并不是其他错误。这里只有一个错误导致了回溯。您可以通过谷歌“python回溯”了解更多信息。当你得到一个回溯时,最好把整个事情从“回溯”一词开始一直贴到包含异常消息的最后一行。虽然问题已经得到了回答,但我要补充的是:你写的那行是“其余的错误”,而不是其他错误。这里只有一个错误导致了回溯。您可以通过谷歌“python回溯”了解更多信息。当您得到回溯时,最好将整个内容从“回溯”一词一直发布到包含异常消息的最后一行。值得注意的是,OP的原始代码是
text1=“First Name:,First\u Name,”\n last Name:,last\u Name
。这与print
语句的功能相结合是可以理解的,该语句允许它接受多个参数并用空格将它们连接在一起。然而,这不是Python中通常连接字符串的方式。非常感谢。值得注意的是,OP的原始代码是text1=“First Name:”,First\u Name,“\n last Name:”,last\u Name
。这与print
语句的功能相结合是可以理解的,该语句允许它接受多个参数并用空格将它们连接在一起。然而,这不是Python中通常连接字符串的方式。非常感谢。