gmailアドレスにメールを送信する簡単なスクリプトがあります。非常にシンプルで、実行後の Python IDLE から正常に動作します。
GUI2Exe(py2exeとcx_freezeを使用)でexeにした後、次のエラーが発生します:
Traceback (most recent call last):
File "something.py", line 4, in <module>
File "smtplib.pyc", line 46, in <module>
ImportError: No module named email.utils
これはemail.pyという名前ではなく、自分のコンピューターにはそのように呼ばれるものはありません (この問題に関するすべてを読みました)。
私はまた、something.pyとsmtplib.pyの両方からそれを強制しようとしました:
opts = {'py2exe': { "includes" : ["email.utils"] }}
まったく違いはありません。IDLE からの実行は素晴らしいが、gui2exe の後...エラー。
このメール ディレクトリは Lib ディレクトリにあり、utils が含まれています。しかし、IDLE からスクリプトが正常に動作するため、これは明らかです。
元のスクリプト:
import smtplib
fromaddr = 'blablu@gmail.com'
toaddrs = 'blipblop@gmail.com'
msg = 'There was a terrible error that occured and I wanted you to know!'
# Credentials (if needed)
username = 'blablu'
password = 'passbla'
# The actual mail send
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(username,password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
もううんざりです、ごめんなさい。何が起こっているのかまったくわかりません。
誰かが私が間違っていることを教えてもらえますか?