このコードは別のWebサイトのリポジトリから見つけられ、pythonを使用して電子メールを送信するのにも使用され、添付ファイルもあります。ファイルを送信するためにbase64にファイルをエンコードします。私は '.xlsx'ファイルを使用する前にコードをテストしました。問題が発生して送信されました。しかし今、プログラムは何らかの理由でそれを送信しません。ファイルはコードと同じフォルダにあります。ファイルをpythonで添付ファイルとして送信するファイルが見つかりません
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
fromaddr = "FROM EMAIL"
toaddr = "TO EMAIL"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "SUBJECT"
body = "MESSAGE"
msg.attach(MIMEText(body, 'plain'))
filename = "05-11-2016 - Saturday.xlsx"
attachment = open("05-11-2016 - Saturday", "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, "PASSWORD")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
私はTHSそれを実行に出力されるエラーです。
line 21, in <module>
attachment = open("05-11-2016 - Saturday", "rb")
FileNotFoundError: [Errno 2] No such file or directory: '05-11-2016 - Saturday'
任意の助けをいただければ幸いです。
オープンしてはいけません('05 -11-2016 - Saturday.xlsx '、' rb ') '? –
私がしたとき、メッセージは送られましたが、拡張子はありません。だから、拡張子なしのファイルだった – ashkl
btw、ヒントありがとう、私はちょうど修正し、あなたのスクリプトを使用しようとしました:)おそらく何かのために役立つでしょう:) – Ilja