pandas から読み込んだ内容をHTMLに落としてそれをgmailの本文に記載したいです。
※依頼者からのオーダーでメール本文に内容を記載したいです
こちらのサイトを参考にしてやってみましたがエラーが出てしまいます。➡リンク内容
HTMLの内容は以下の感じです
カラムA(店名) カラムB(所在地)
1 ●●店 ●●県●●市
2 ●●店 ●●県●●市
3 ●●店 ●●県●●市
4 ●●店 ●●県●●市
5 ●●店 ●●県●●市
出ているエラーはこちらです
TypeError Traceback (most recent call last) <ipython-input-17-09ff481f31ec> in <module> 40 41 if __name__ == '__main__': ---> 42 main() <ipython-input-17-09ff481f31ec> in main() 32 subject = SUBJECT 33 #htmlファイルを読み込み。メール本文に挿入 ---> 34 test_data = open(r'C:\Users\Desktop\work\情報.html', "r",'utf-8', 'ignore') 35 contents = test_data.read() 36 body = contents TypeError: an integer is required (got type str)
現在のコードは以下です
import smtplib import email.message FROM_ADDRESS = '●●●●@gmail.com' MY_PASSWORD = '●●●●' 送り先のメールアドレス TO_ADDRESS = ['●●●●@gmail.com'] SUBJECT = '本日のメール' def create_message(from_addr, to_addr, subject, body): msg = email.message.Message() msg['Subject'] = subject msg['From'] = from_addr msg['To'] = ",".join(to_addr) msg.add_header('Content-Type','text/html') msg.set_payload(body) return msg def send(from_addr, to_addrs, msg): smtpobj = smtplib.SMTP('smtp.gmail.com', 587) smtpobj.ehlo() smtpobj.starttls() smtpobj.ehlo() smtpobj.login(FROM_ADDRESS, MY_PASSWORD) smtpobj.sendmail(from_addr, to_addrs, msg.as_string()) smtpobj.close() def main(): to_addr = TO_ADDRESS subject = SUBJECT htmlファイルを読み込み。メール本文に挿入 test_data = open(r'C:\Users\Desktop\work\情報.html', "r",'utf-8', 'ignore') contents = test_data.read() body = contents msg = create_message(FROM_ADDRESS, to_addr, subject, body) send(FROM_ADDRESS, to_addr, msg) if __name__ == '__main__': main()