2011年10月22日土曜日

djangoでmail送信

サーバーが吸い込んでいるのに送信されないとか、届いたメールの送信元がおかしいときはsettings.pyの
DEFAULT_FROM_EMAIL
を疑おう。

2011年10月21日金曜日

pythonでcoreserverからmail送信

chihiroさんのこのページのほぼ丸写し。
chihiroさんありがとうございます。
# -*- coding: utf-8 -*-

import smtplib
from email.MIMEText import MIMEText
from email.Utils import formatdate
from pit import Pit

def create_message(from_addr, to_addr, subject, body):
    msg = MIMEText(body)
    msg['Subject'] = subject
    msg['From'] = from_addr
    msg['To'] = to_addr
    msg['Date'] = formatdate()
    return msg

def send_via_SSL(from_addr, to_addr, msg, email_account):
    print from_addr + ' to ' + to_addr
    mail_pit = Pit.get(email_account)
    s = smtplib.SMTP_SSL(mail_pit['servername'], 465) #
    s.ehlo()
    s.login(mail_pit['username'], mail_pit['password'])
    s.sendmail(from_addr, [to_addr], msg.as_string())
    s.close()

if __name__ == '__main__':
    from_addr = 'hoge@hogehoge.jp'
    to_addr = 'hoge@hogehoge.com'
    email_account = 'hoge@hogehoge.jp'
    msg = create_message(from_addr, to_addr, 'test subject', from_addr + ' to ' + to_addr + ' using ' + email_account + ' with SSL')
    send_via_SSL(from_addr, to_addr, msg, email_account)
 違いは赤い字のSMTP_SSLあたり

2011年10月12日水曜日

xlrdで背景色(やりかけ)

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import xlrd

if __name__ == '__main__':
    doStrip = True
    wb = xlrd.open_workbook(U'./' + u'test.xls', formatting_info=True)
    sheetCount = wb.nsheets
    workSheets = []
    for num in range(sheetCount):
        sheet = wb.sheets()[num]
        rows =[]
        print u'row, col, value, attr'
        for row in range(sheet.nrows):
            cols = []
            for col in range(sheet.ncols):
                value = int(sheet.cell(row,col).value)
                attr = sheet.cell_xf_index(row, col)
                print row, col, value, attr

                cols.append(value)
            rows.append(cols)
        workSheets.append((sheet.name, rows))

row, col, value, attr
0 0 10 15
0 1 21 15
1 0 11 21
1 1 22 15
2 0 12 15
2 1 23 15
3 0 13 15
3 1 24 21
4 0 14 15
4 1 25 15
5 0 15 21
5 1 26 15
6 0 16 15
6 1 27 15
7 0 17 15
7 1 28 15
8 0 18 15
8 1 29 15
9 0 19 15
9 1 30 15

2011年10月9日日曜日

あまりにもアホなことして Ubuntuがcoreだけになってしまったところからの復旧。

mountall: Disconnected from plymouthが出て止まる。
[ctrl] + [alt] + [F1] でtty1にログイン
sudo apt-get updateでネットワークにつながっているか確認。
(ネットワークにつながっていれば、sudo apt-get ubuntu-desktop ubuntu-desktop-ja)

つながっていなかったら、どっからインストールCDを取ってくるかISOイメージを取ってきて突っ込む。
ISOイメージなら、USBスティックをマウントして

sudo mount -t iso9660 -o loop /path/to/ISO /media/cdrom

sudo apt-get install network-managerでnetwork-managerのインストールを試みる。
当然無いパッケージがエラーとなって出てくるから、それらをCDもしくはISOから強引に
dpkg -i /path/to/package.deb
でインストール。
sudo apt-get install network-managerでエラーが出なくなったら再起動。
また、[ctrl] + [alt] + [F1] でログイン
sudo apt-get update
sudo apt-get ubuntu-desktop ubuntu-desktop-ja

でいける。

何がこんな目に私をあわしたかは秘密