スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

自分はgmailとか使ってソースコードを送ることが多い.しかし毎回gmailを使う度にログインするのも面倒くさいし,メールをにファイルを添付するのも面倒くさいので,そういうのをコマンド一つで出来ればいいなぁとまえから思ってた

というわけで昨日の10時くらいから,gmailからテキストファイルを添付したメールを送るプログラムを書いてた

言語はpython

でさっきやっと出来た

ソースは以下
まぁほとんどが参考にしたソースコードの丸写しなんだけど


#!/usr/bin/python
#-*-coding:utf-8-*-
import smtplib
import sys
from email.MIMEText import MIMEText
from email.MIMEImage import MIMEImage
from email.MIMEMultipart import MIMEMultipart
from email.Header import Header
from email.Utils import formatdate

def create_message(from_addr , to_addr , subject , body , encoding):
msg = MIMEMultipart()
msg['Subject'] = Header(subject , encoding) #タイトル
msg['From'] = from_addr #送信者アドレス
msg['To'] = to_addr #送信先アドレス
msg['Date'] = formatdate()

related = MIMEMultipart('relatded')
alt = MIMEMultipart('alternative')
related.attach(alt)

content = MIMEText(body , 'plain' , encoding)
alt.attach(content)

for filename in [sys.argv[1]]:#ファイル名

fp = file('%s' % filename , 'rb')
txt = MIMEText(fp.read() , 'c' , encoding)
related.attach(txt)
txt.add_header('Content-Disposition' , 'attachement' , filename = filename)
msg.attach(related)
return msg
pass

def send_via_gmail(from_addr , to_addr , msg):
s = smtplib.SMTP('smtp.gmail.com', 587)
s.ehlo()
s.starttls()
s.ehlo()
s.login('youradd@gmail.com' , 'password')
s.sendmail(from_addr , [to_addr] , msg.as_string())
s.close

if __name__ == '__main__':
from_addr = 'youradd@gmail.com'
to_addr = '送信先アドレス'
title = 'title'
body = 'body'
msg = create_message(from_addr , to_addr , title , body , 'utf-8')
send_via_gmail(from_addr , to_addr , msg)




でこのファイルをbashでalias登録してコマンドラインでコマンドを打つと・・・

commond


result



送れた!!
これでこれからソースファイルの送信が楽になるわぁ

しかし演習課題のプログラムも作らないと・・・


<参考URL>
http://blog.livedoor.jp/vine_user/archives/51575120.html
Python スクリプトでGmail経由のメールを送信する方法
スポンサーサイト

コメント

非公開コメント

最新記事
カテゴリ
最新コメント
月別アーカイブ
最新トラックバック
カウンター
プロフィール
情報科学を専攻している大学院生. OSとかHypervisor とかいじってます.

時羽金也

Author:時羽金也

リンク
検索フォーム
QRコード
QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。