Postfixでローカルサーバに対しメールが送信できない問題

先日の問題への対応で、インターネット経由でのメール送信ができないため、ローカルサーバに対しメールを送信することに。

送信先として「hoge@192.168.***.***」を指定し、Nodemailerからメール送信を試みたところ、Nodemailerから以下のエラーが返る。

{
    "code": "EENVELOPE",
    "response": "5015.1.7Badsenderaddresssyntax",
    "responseCode": 501,
    "domain": "192.168.***.***",
    "exchange": "192.168.***.***",
    "recipients": [
        "hoge@192.168.***.***"
    ]
}

Nodemailerのログだけでは原因が特定できないため、Postfixのログを確認する。

$ sudo vi /var/log/maillog

すると、以下のログが確認できる。

postfix/smtpd[6510]: connect from unknown[192.168.XXX.XXX]
postfix/smtpd[6510]: warning: Illegal address syntax from unknown[192.168.***.***] in MAIL command: <***@192.168.***.***>
postfix/smtpd[6510]: lost connection after MAIL from unknown[192.168.***.***]
postfix/smtpd[6510]: disconnect from unknown[192.168.***.***]

どうやら送信先アドレスの文法エラーの模様。
Postfixの仕様を確認したところ、Postfixのmain.cfを編集することで、送信先アドレスの@以降がIPアドレスの場合を許可されるらしい。

main.cfを編集。

sudo vi /etc/postfix/main.cf

main.cfに以下の一行を追加。

resolve_numeric_domain = yes

Postfixを再起動。

sudo /etc/init.d/postfix restart

この状態で、先ほどと同一の送信先アドレスに対しNodemailerからメールを送信する。
Postfixのログを確認すると、メールの送信に成功したことがわかる。

postfix/smtpd[8123]: connect from unknown[192.168.***.***]
postfix/smtpd[8123]: 41FBD161525: client=unknown[192.168.***.***]
postfix/cleanup[8128]: 41FBD161525: message-id=<***@192.168.***.***>
postfix/qmgr[7847]: 41FBD161525: from=<***@192.168.***.***>, size=53229, nrcpt=1 (queue active)
postfix/smtpd[8123]: disconnect from unknown[192.168.***.***]
postfix/local[8142]: 41FBD161525: to=<hoge@[192.168.***.***]>, relay=local, delay=1.1, delays=0.99/0.08/0/0.05, dsn=2.0.0, status=sent (delivered to command:  /bin/cat > `mktemp /var/tmp/mail.XXXXXXXX`)
postfix/qmgr[7847]: 41FBD161525: removed