python で GMail おくってみた
昨日pythonを使って作業効率化できることを知り、早速実践。
いつか使えるかもしれないので記録しておきます。
まずは文字のみのメールを送る場合
import datetime import smtplib #メールサーバを操作するもの import ssl from email.mime.text import MIMEText #日本語表示させるためのもの import sys, codecs sys.stdout = codecs.getwriter("utf-8")(sys.stdout) gmail_account = "自分のgmailアドレス" gmail_password = "googleのパスワード" mail_to = "送り先のメアド" #gmailアドレス以外でも良い send_name="送り先の名前" today_date = datetime.date.today()#日付を取得 subject = "{0}様、本日は{1}です。".format(send_name,today_date)#件名 body = "Hello,World! <br>秋ですね。<br>今日は{0}です。".format(delivery_date)#本文 msg = MIMEText(body, "html") msg["Subject"] = subject msg["To"] = mail_to msg["From"] = gmail_account server = smtplib.SMTP_SSL("smtp.gmail.com", 465, context=ssl.create_default_context()) server.login(gmail_account, gmail_password) server.send_message(msg) #メールを送る server.close() print('送信完了')
xmodemを用いた送信
ラズパイで撮影した動画をxbeeを使って送信したい。xmodemを使おうということでネットで調べたところ、良さげなプログラムを発見。
ところが。
エラー出まくり。。。
ネットで拾ったプログラムなんだもの。しょうがない。夜な夜なプログラムを修正することはや3日。
ついに送信できたー!!というわけで、以下のプログラムが完成版。
import serial from xmodem import XMODEM <200b>ser = serial.Serial('/dev/ttyUSB0',115200) '''USBの名前と通信速度を記述。USBの名前は接続するたびに変わるので、コマンドで確認。 ls /dev/ttyUSB*と打ち込めば確認できる。''' def getc(size, timeout=1): return ser.write(data) or None def putc(data, timeout=1): return ser.write(size) or None modem = XMODEM(getc,putc) <200b>stream = open('ファイル名','rb') modem.send(stream)
(追記:なぜか<200b>という文字が勝手に出てくる。これは消して扱う。)
次に。ラズパイにxmodemモジュールをインストールする。
コマンドに、pip3 install xmodem
と打ち込めばインストールできる。
あとは実行するだけ。
xmodemでは通信速度が遅いのでzmodemもやってみたところ、インストールしたzmodemプロトコルが未完成のようで実行できなかった。残念。
価格:2,521円 |
価格:3,829円 |
大学生の備忘録
こんにちは。
理系大学生プログラミング初心者です。
日々の勉強で学んだことをメモとして残していこうと思います。
お手柔らかに。。。