postfix+mysqlでvirtual domainを追加したが受信できない。
postfix+mysqlでvirtual domainを追加したがvirtual domain宛のメールが受信できない。 ログを確認。
tail -f /var/log/maillog /var/log/messages```
```terminal
host1 postfix/smtpd[15712]: connect from mail.xxx.com[xx.xx.xx.xxx]
host1 postfix/trivial-rewrite[15715]: warning: table "mysql:/etc/postfix/mysql_virtual_domains_maps.cf": empty lookup result for: "virtualdomain-a.com" -- ignored
host1 postfix/smtpd[15712]: NOQUEUE: reject: RCPT from mail.xxx.com[xx.xx.xx.xxx]: 554 5.7.1 <addr@virtualdomain.com>: Relay access denied; from=<fromuser@xx.xx.xx> to=<addr@virtualdomain.com> proto=ESMTP helo=
host1 postfix/smtpd[15712]: disconnect from mail.xxx.com[xx.xx.xx.xxx]```
ここがNGみたい。 postfix/trivial-rewrite[15715]:
<span style="color: #ff0000;">warning: table "mysql:/etc/postfix/mysql_virtual_domains_maps.cf": empty lookup result for: "virtualdomain-a.com" -- ignored</span> mysql\_virtual\_domains\_maps.cfに記載したmysqlのテーブルからドメインが見つけられないためにエラーになっているようだ。 どうも、mysql\_virtual\_domains\_maps.cfの記載方法が問題があるのか、virtual domain名にハイフンが入っているのでうまくselectできないのだろうか?
/etc/postfix/mysql_virtual_domains_maps.cf
------------
user = postfix
password = **********
hosts = localhost
dbname = postfix
table = domain
<span style="color: #ff0000;">#select_field = description</span>
<span style="color: #ff0000;"> #where_field = domain</span>
<span style="color: #3366ff;">query = SELECT domain FROM domain WHERE domain='%s'</span>
------------ select\_field = description where\_field = domain をやめてquery で指定したが、select_field = descriptionになっている。追加したvirtual domainの
<span style="color: #ff0000;">descriptionカラムは空っぽ</span>でした。 これが原因だったかな? /etc/init.d/postfix restart してメールが受信できることを動作した。