こちらのyoutube動画(https://www.youtube.com/watch?v=U5VKEM2bqMQ)を参考にして、添付してあった使用コードを使ってみたのですがcsvを読み込む所でどうしても上手くいきません。CSVの内容は2列で1列目が氏名、2列目がメールアドレスです
■以下、試したこと
・最初に出たエラー
File "<ipython-input-4-0a904a6ac562>", line 6 filename = "C:\Users\furug\Desktop\work\test2.csv" ^ SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
・解決のために参考にしたページ➡リンク内容
・対策した内容
raw文字を使えばエスケープは解釈され無いので r を付けて、r"C:\Users …… と書く事を試しました
・結果
別のエラー⓶が発生
・別のエラー⓶
UnicodeDecodeError Traceback (most recent call last) <ipython-input-5-fe9ff54b74e4> in <module> 9 with open(filename, 'r') as f: 10 reader = csv.reader(f) ---> 11 header = next(reader) 12 13 for row in reader: UnicodeDecodeError: 'cp932' codec can't decode byte 0xef in position 0: illegal multibyte sequence
・解決の為に参考にしたページ➡リンク内容
・対策した内容
filename = r"C:\Users\furug\Desktop\work\test2.csv,encoding=utf-8_sig"と書いた
・結果
別のエラー⓷が発生
・別のエラー⓷
FileNotFoundError Traceback (most recent call last) <ipython-input-6-10c16fac8532> in <module> 7 8 # CSVから読み込み ----> 9 with open(filename, 'r') as f: 10 reader = csv.reader(f) 11 header = next(reader) FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\furug\Desktop\work\test2.csv,encoding=utf-8_sig'
ここで『そんなファイルないって言われても・・・』となり止まってしまいました。
現在のコードは以下です
import smtplib from email.mime.text import MIMEText class Mailer: """ メールを送信するクラス """ #初期化 def __init__(self, addr_to, subject, body): self.password = "ログインパスワード" # ← ここにGmailのログインパスワードを追加 self.addr_from = "メールアドレス" # ← ここにメールアドレスを追加 self.addr_to = addr_to self.charset = "ISO-2022-JP" self.subject = subject self.body = body def send(self): # メールの設定 msg = MIMEText(self.body.encode(self.charset), 'plain', self.charset) msg['Subject'] = self.subject msg['From'] = self.addr_from msg['To'] = self.addr_to # gmailのsmtp経由で送信 smtp = smtplib.SMTP('smtp.gmail.com', 587) smtp.ehlo() smtp.starttls() smtp.ehlo() smtp.login(self.addr_from, self.password) smtp.send_message(msg) smtp.close() def create_mail_body(full_name): body = """ {}様 お世話になっております。キカガクの今西です。 こちらのメールはPythonによるGmailのテスト送信になります。 よろしくお願いいたします。 ━━━━━━━━━━━━━━━━━━━━━━━ 今西 航平(Kohei Imanishi) 株式会社キカガク 取締役副社長 Email: kohei.imanishi@kikagaku.co.jp URL : https://www.kikagaku.co.jp/ ━━━━━━━━━━━━━━━━━━━━━━━━ """.format(full_name) return body # 動作確認 import sys import csv # 引数からファイル名を取得 filename = '/content/test.csv' # CSVから読み込み with open(filename, 'r') as f: reader = csv.reader(f) header = next(reader) for row in reader: """ 全員に対して送る """ # CSVからメール送信に必要な情報を抽出 full_name = row[0] # お名前 email = row[1] # メールアドレス # メール内容 addr_to = email subject = "Pythonによるテストメール" body = create_mail_body(full_name) mailer = Mailer(addr_to, subject, body) mailer.send()
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/16 08:25
2020/02/16 08:30
2020/02/17 12:54