困った時の自分用メモ

読んだ本を考察してメモったり、自分でいじった物の感想をメモったりする場。週1更新を目指します。

VIMの話-postmail.vimを使えるように頑張る2-

前回の続き。

宣言どおり、とりあえずpostmail.pyの中身を確認、文字列本文を表しているであろうと思われる箇所を探す。

def __create_message__(self, from_address, to_address, subject, body):
これのbodyがそれに該当するっぽかったので、早速以下のコードを試す

        message            = MIMEText(body.encode(self.mail_encoding).replace('\n\r', '\r').replace('\n', '\r'), 'plain', self.mail_encoding)

しかし、これが上手くいかない・・・。

何故かと思い、printを仕込んで実行してみたところ、"\n"という文字列が、改行ではなく文字列として扱われていた模様。

なので、正しくは

        message            = MIMEText(body.encode(self.mail_encoding).replace('\\n\\r', '\r').replace('\\n', '\r'), 'plain', self.mail_encoding)

これが正解っぽい。

これで、Pythonから自分のHotMail宛てに文章を送って、変な改行が入らないようになった。

【今回の注意点・ハマリ点・助言】
・タブはスペース4つじゃないと、どうやらエラーになる模様
・必死にreplace('\n', '\r')とかやっていたが、それではダメで、内部的には"\n"という文字列扱いになっているので、正しくはreplace('\\n', '\r')という事らしい
・printすれば、一応ログデバック可能なので、活用すべし

次は、TOやCCの指定が可能かどうかだな。