メールヘッダフィールドの折り返し

To フィールドが長くなったので作ってみた.

def create_field(name, values):
    LINE_LIMIT = 78
    result = ''
    s = name + ': ' + values[0]
    for v in values[1:]:
        if len(s) + len(v) + 2 > LINE_LIMIT:
            result += s + ',\n'
            s = '\t'
        else:
            s += ', '
        s += v
    return result + s

テスト.

>>> mailaddrs = ['aaa.bbb@example.com', 'ccc.ddd@example.com',
... 'eee.fff@example.com', 'ggg.hhh@example.com', 'iii.jjj@example.com',
... 'kkk.lll@example.com', 'mmm.nnn@example.com', 'ooo.ppp@example.com',
... 'qqq.rrr@example.com', 'sss.ttt@example.com', 'uuu.vvv@example.com',
... 'www.xxx@example.com', 'yyy.zzz@example.com']
>>> print create_field('To', mailaddrs)
To: aaa.bbb@example.com, ccc.ddd@example.com, eee.fff@example.com,
	ggg.hhh@example.com, iii.jjj@example.com, kkk.lll@example.com,
	mmm.nnn@example.com, ooo.ppp@example.com, qqq.rrr@example.com,
	sss.ttt@example.com, uuu.vvv@example.com, www.xxx@example.com,
	yyy.zzz@example.com

大丈夫かな?