You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Visual Studio Code中用Python发邮件报NameError错如何解决

报错原因

Python运行时会把未加引号的myemailaddress@gmail.com识别为变量名,但你代码里仅定义了存储该邮箱地址的变量SenderAddress,没有定义名为myemailaddress的变量,因此触发未定义变量的NameError。

修复方案

有两种修改方式,推荐使用第一种,避免重复硬编码邮箱地址:

  • 方案1:直接调用已定义的发件人地址变量
    把第16行代码修改为:
server.sendmail(SenderAddress, email, body)
  • 方案2:给邮箱地址添加引号,将其识别为字符串字面量
    把第16行代码修改为:
server.sendmail("myemailaddress@gmail.com", email, body)

修改后完整可运行代码示例(采用方案1):

import pandas as pd
import smtplib

SenderAddress = "myemailaddress@gmail.com"
password = "mypassword"

e = pd.read_excel("emails.xlsx")
emails = e['email'].values
server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
server.login(SenderAddress, password)
msg = "Hello this is a email form python"
subject = "Hello world"
body = "Subject: {}\n\n{}".format(subject, msg)
for email in emails:
    server.sendmail(SenderAddress, email, body)
server.quit()

内容的提问来源于stack exchange,提问作者Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 15:00:04