このブログを検索

2014/01/30

さくらのVPSでメールが受信できない

ほったらかしていたのですっかりどうやるのか、どうなっているのか忘れてしまった。 気づいたのはtwitterのサブアカウントにサインインしたら「メールが送れません」というメッセージが出たことだ。 サーバに入って mail -u hoge とやるが
No mail for hoge
となる。
mail hoge@foo
とやって、自分の持っているほかのアカウントに送信することはできた。 ・・・。 これから原因を突き止め直していく。
/etc/dovecot/passwd
というファイルに、アカウントとパスワードが書いてある。 6個のアカウントがあるので、それらすべてにメールを送信してみると、 1個のアカウントだけはエラーメールが返ってきた。 しかしそれは今回問題になっているアカウントとは違うものだ。
Delivery to the following recipient failed permanently:

hoge@hoge

Technical details of permanent failure:

Google tried to deliver your message, but it was rejected by the server for the recipient domain xxxxxxxxxxx by xxxxxxxxxxx. [xxx.xxx.xxx.xxx].

The error that the other server returned was:

550 5.1.1 <hoge@hoge>: Recipient address rejected: User unknown in virtual mailbox table

ということで、virtual mailboxにそのアカウントがないという理由である。 逆に言うと、今回送れないアカウントはあるということだ。
/etc/postfixを見ると、さっき送れなかったアカウントが書いてない。 書いて、以下を実行する。
postmap /etc/postfix/vmailbox
そしてpostfixを再起動
/etc/init.d/postfix restart
エラーメールは返ってこなくなった。 が、メールを読むことができない。
mailコマンドでは確認できないんだっけ?
Windows7にメールクライアントソフトを入れて受信できているか確認してみよう。
最近はgmailしか使っていないのでメールクライアントなどというものはすっかりごぶさただ。 調べるとWindows Essentialというものの中に含まれているらしい。 ついでなのでムービーメーカーとかメッセンジャーとかskydriveとかなんとか全部いれてみる。 受信してもエラーにもならないがメールは読めない。 gmailのアドレスへの送信はできた。
/var/log/maillog
を見ると特に問題はないようだが・・・
/etc/dovecot/conf.d/10-master.conf
を編集してみる。
imap-loginとpop3-loginのところでport番号が書いてるところがコメントになっているのをはずす。
/etc/dovecot/conf.d/10-mail.conf /etc/dovecot/dovecot.conf
なども見直して、
/etc/rc.d/init.d/dovecot restart
送信したときも受信したときも特に問題はないようだが・・・ わからん。 あきらめた。
icloudとかwindows live とかのアカウントに変える。 バイバイ。 ・・・・と、あきらめかけたが、
メールクライアントの設定で、「受信メールサーバー」の「ユーザー名」に、hoge@example.com のように、ドメイン名をつけたら受信できた! めでたしめでたし!

2014/01/25

Windowsでpython

twitterでブロックしているユーザの一覧表示およびそのunblockをpythonスクリプトで書いて使っていたのだが、Windows7を再インストールしてその実行環境(そんな大げさなものではないが)を復旧したときのメモ。

pythonをインストールする。

windowsの環境変数で、Pathにpythonをインストールしたディレクトリおよびscriptsディレクトリを追加する。

C:\Python27;C:\Python27\Scripts

tweepyをインストールする。

easy_install tweepy

easy_install は C:\Python27\Scriptsにある。

以上。