【问题标题】:Why is the code giving me an error at msg.attach? [duplicate]为什么代码在 msg.attach 处给我一个错误? [复制]
【发布时间】:2020-03-01 16:05:41
【问题描述】:
import smtplib, ssl
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from secrets import mycred

file=pd.read_excel('emails.xlsx',sheet_name='Sheet1')
contacts=pd.DataFrame(file)
password = mycred()[1]

for i in range(len(contacts)):
    name, email, address=contacts.iloc[i]
    port = 587 # For SSL
    smtp_server = "smtp.mail.com"
    msg = MIMEMultipart()
    msg['From'] = mycred()[0]
    msg['To'] = email
    msg['Subject'] = "TEST"
    body = "Hey {}, how is it going? I just wanted to confirm your infromationAre you still at{}?" .format(name.split()[0],address)

           msg.attach(MIMEText(body, 'plain'))
           text = msg.as_string()
           context = ssl.create_default_context()
           with smtplib.SMTP_SSL(smtp_server, port, context=context) as server:
               server.login(mycred()[0], password)
               server.sendmail(mycred()[0], msg['To'] , text)
            print('Sent to: ',name)
        print('Done')

这是代码。当我尝试运行它时,我收到此错误消息。我真的不知道如何解决这个问题。

 File "c:/Users/rasmu/OneDrive/Dokumenter/VS Projekter/mailtest/emailer.py", line 21
   message.attach(MIMEText(body, 'plain'))
   ^
IndentationError: unexpected indent
PS C:\Users\rasmu\OneDrive\Dokumenter\VS Projekter\mailtest>  

我该如何解决这个问题?

【问题讨论】:

  • unexpected indent 消息正是它所说的。 msg.attach 行应该与上面的行有相同的缩进。
  • print('Sent to: ',name) 相同——它也奇怪地缩进了

标签: python python-3.x pandas


【解决方案1】:

Python 语言的代码结构非常严格。 这意味着您需要“TAB” - 以结构方式缩进您的代码。 可能是“空”行给出了这个错误:删除它,之后取消缩进代码块,保存源文件并重试运行它。

当您有 for 循环或 if-else 语句时使用缩进。

请参阅以下示例: [https://docs.python.org/2.0/ref/indentation.html][1]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 2021-06-09
    相关资源
    最近更新 更多