0
私は自分自身にメールを送りたい。静的テキストではなく、さまざまなテキストにコンテンツを変更するにはどうすればよいですか?Python 3.6.2で自動化されたメール(smtplib)に変更するコンテンツを追加するにはどうすればよいですか?
import smtplib
import random
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
#food dictionary
food = random.choice([spaghetti, pizza])
def mail():
email_user = 'me'
email_send = ['no1','no2']
msg = MIMEMultipart()
msg['From'] = email_user
msg['To'] = ','.join(email_send)
msg['Subject'] = 'food for the week!'
body = 'why can't I get my new content in here?!'
これは私が困っていると思っている部分(body=...)
です。どうすればrandom.choice()
の部分に「食べ物」を入れてもエラーメッセージが表示されませんか?それとももっと良い方法がありますか?
msg.attach(MIMEText(body,'plain'))
text = msg.as_string()
mail =smtplib.SMTP("smtp.gmail.com", 587)
mail.ehlo()
mail.starttls()
mail.login(email_user,"pwd")
mail.sendmail(email_user,email_send, text)
mail.close()
mail()
ありがとうございました!しかし、Pythonはまだ次のように文句を言う:AttributeError: 'dict'オブジェクトには属性 'エンコード'がありません – Kiwipo17
スタックトレースを投稿してもいいですか? –
トレースバック(最新のコール最後): ファイル "/ Users/me/Documents/ メール ファイル "/Users/me/Documents/rezepte.py"、行21、メール内 msg.attach(MIMEText(本文、 'plain')) ファイル "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/email/mime/text.py"、34行目、__init__ _text.encode( 'us-ascii') AttributeError: ' dict 'オブジェクトに'エンコード '属性がありません – Kiwipo17