2016-05-01 21 views
1

私はPycharmにいくつかのコードを書いて、自分のSeleniumテスト結果レポートを添付ファイル付きの電子メールで送信しています。Python未解決の参照のインポートMIMEMultipart

私はエラーを取得しています私のimport文で:

unresolved reference MIMEMultipart 
unresolved reference MIMEText 
unresolved reference MIMEBase 

私のimport文は次のように書かれている:

from email.MIMEMultipart import MIMEMultipart 
from email.MIMEText import MIMEText 
from email.MIMEBase import MIMEBase 

は、私がどのパッケージをインストールする必要がありますか?

私の完全なコードスニペットは、次のとおりです。

from email.MIMEMultipart import MIMEMultipart 
from email.MIMEText import MIMEText 
from email.MIMEBase import MIMEBase 

class Email(BasePage): 


    def send_email(self): 
     import smtplib 


     from email import encoders 

     fromaddr = "YOUR EMAIL" 
     toaddr = "EMAIL ADDRESS YOU SEND TO" 

     msg = MIMEMultipart() 

     msg['From'] = fromaddr 
     msg['To'] = toaddr 
     msg['Subject'] = "SUBJECT OF THE EMAIL" 

     body = "TEXT YOU WANT TO SEND" 

     msg.attach(MIMEText(body, 'plain')) 

     filename = "NAME OF THE FILE WITH ITS EXTENSION" 
     attachment = open("PATH OF THE FILE", "rb") 

     part = MIMEBase('application', 'octet-stream') 
     part.set_payload((attachment).read()) 
     encoders.encode_base64(part) 
     part.add_header('Content-Disposition', "attachment; filename= %s" % filename) 

     msg.attach(part) 

     server = smtplib.SMTP('smtp.gmail.com', 587) 
     server.starttls() 
     server.login(fromaddr, "YOUR PASSWORD") 
     text = msg.as_string() 
     server.sendmail(fromaddr, toaddr, text) 
     server.quit() 

答えて

2

emailパッケージは、ある時点でリファクタリングとMIMEサポートはemail.mimeパッケージになりました。 python 3.6で

https://docs.python.org/2/library/email.html

+0

、email' '下には' MIMEMultipart'パッケージがありません。 'email.mime.multipart'だけが存在します。 OPは 'email import MIMEMultipart'が動作するので、パッケージ名を削除することができます。 –

+0

これらのインポートステートメントを今追加しました。 from email.mime.multipart import MIMEMultipart email.mime.baseインポートMIMEBase email.mime.text import MIMEText –

+0

次のimport文はemail.mime.multipartからインポートしますMIMEMultipartエラーが発生しましたmime.multipartという名前のモジュールがありません –

1

:それです

from email.mime.multipart import MIMEMultipart 
from email.mime.text import MIMEText 
from email.mime.base import MIMEBase