« SFTPでchroot設定をする方法 | トップページ | GmailからiPhoneへメールを効率よく転送する方法 »

ユーザ名・ホスト名に「-」が入っている場合のqmailの設定方法

バッドノウハウです。

ユーザ名に「-」が入っている場合

例えば、「foo-bar」というUNIXアカウントがあって、「foo-bar@example.com」宛にメールがあった場合、foo-barのホームディレクトリにある.qmailファイルに従って処理されると思いがちですが、違うんです。
qmailでは、「アカウント名-hoge」という拡張メールアドレスがあります。(拡張メールアドレスの詳しい解説)
メールログを見ると、

Jan 23 20:30:29 alpha qmail: 1485171029.781322 
starting delivery 158: msg 659726 to local foo-bar@example.com
Jan 23 20:30:29 alpha qmail: 1485171029.781344 status: local 1/10 remote 0/20
Jan 23 20:30:29 alpha qmail: 1485171029.786233 delivery 158: 
failure: Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/

ユーザ「foo-bar」に配送されそうなものですが、違うんです。
ユーザ「foo」の拡張メールアドレス「foo-bar」として処理されます。
つまり、ユーザ「foo」のホームディレクトリにある「.qmail-bar」ファイルに従って処理されるのです。

これをどう解決するか。
バッドノウハウですが、ユーザ「foo」を新たに作って転送させます。

# useradd -s /bin/false foo
# passwd foo
(中略)
# cd /home/foo
# echo "./Maildir/" > .qmail-bar

そして、ユーザ「foo」でメールを読み書きします。

ホスト名に「-」があって、virtualdomainsでメールを受け取る場合

普通に考えると、

# echo "virtual-domain.example.com" >> rcpthosts
# echo "virtual-domain.example.com:virtual-domain" >> virtualdomains
# cd /home/virtual-domain
# echo "./Maildir/" > .qmail

だと思いますが、maillogを見ると、

Jan 23 20:30:29 alpha qmail: 1485171029.781322 
starting delivery 158: msg 659726 to 
local virtual-domain-hostmaster@virtual-domain.example.com
Jan 23 20:30:29 alpha qmail: 1485171029.781344 status: local 1/10 remote 0/20
Jan 23 20:30:29 alpha qmail: 1485171029.786233 delivery 158: failure: 
Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/

と、配送に失敗しています。
解決方法は、こちらも別のユーザを作って配送させます。

# cd /var/qmail/control
# echo "virtual-domain.example.com" >> rcpthosts
# echo "virtual-domain.example.com:virtual" >> virtualdomains
# useradd -s /bin/false virtual
# passwd virtual
(中略)
# cd /home/virtual
# echo "./Maildir/" > .qmail-domain-hostmaster

このように設定すれば、maillogは

an 28 20:15:36 alpha qmail: 1485602136.567592 starting delivery 35: 
msg 659701 to local virtual-domain-hostmaster@virtual-domain.example.com
Jan 28 20:15:36 alpha qmail: 1485602136.567636 status: local 1/10 remote 0/20

と配送されることがわかります。

qmailのリスタート

# service qmail restart

CentOSなどはこのコマンドでリスタートできます。

|

« SFTPでchroot設定をする方法 | トップページ | GmailからiPhoneへメールを効率よく転送する方法 »

Linux」カテゴリの記事

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/81940/64821234

この記事へのトラックバック一覧です: ユーザ名・ホスト名に「-」が入っている場合のqmailの設定方法:

« SFTPでchroot設定をする方法 | トップページ | GmailからiPhoneへメールを効率よく転送する方法 »