2016-10-20 7 views
1

Ich versuche, String-Wert hinzufügen Feld zu unterziehen, während E-Mail smtplib mit schicken, aber leider msg [ ‚Betreff‘] wirft immer den Fehler:smtplib Betreff-Feld Typeerror: ‚str‘ Objekt unterstützt keine Artikel Zuordnung

Typeerror: 'str' Objekt unterstützt keine Artikel Zuordnung

Unten ist mein Code:

for host in self.hostnames: 
     for h in host: 
      start = 'Create' 
      s = str(h) 
      l = str(self.lease) 
      u = str(self.username) 
      f = str(listFlavor) 
      subject = start + ' ' + s + ' ' + l + ' ' + u + ' ' + f 

      msg   = 'Add Lease days of %s' % str(self.lease) 
      msg['Subject'] = subject 
      msg['From'] = self.username 
      msg['To']  = '[email protected]' 

      s = smtplib.SMTP('test.test.com') 
      s.sendmail('[email protected]', self.username, msg.as_string()) 
      s.quit() 
+0

'msg' ist eine Zeichenfolge. Was erwartest du? Msg ['Betreff'] = Betreff' zu tun? –

Antwort

2

ja das stimmt.

Ich habe diese Zeile hinzugefügt, um msg zunächst zu deklarieren.

msg = MIMEMultipart('related')

die ein dict ist und hält die zu msg addierten Werte.

Verwandte Themen