サーバのドメインをサブドメインに変更したらメールを受信してブログ記事を
投稿する処理がエラーになってしまう現象が発生 😥
開発用のサーバなので良かったのですが 😐
調べるのに結構時間がかかってしまったのでメモ。
調べてみたところ記事投稿用アドレスにサブドメインを付けると
sendmail がサブドメインを削除していて、メールアドレスの
validate でエラーになっている事がすぐに分かりました。
原因が分かったのですぐに解決できると思い軽い気持ちで、
Google で「sendmail アドレス書き換え」などで色々と調べてみましたが
答えに辿り着く事ができませんでした 😥
そこで基本に帰ってアドレステストモードしてみました。
# /usr/sbin/sendmail -bt -C/etc/mail/sendmail.cf
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> /parse foo@sub.example.com
Cracked address = $g
Parsing envelope recipient address
canonify input: foo @ sub . example . com
Canonify2 input: foo < @ sub . example . com >
Canonify2 returns: foo < @ example . com . >
canonify returns: foo < @ example . com . >
parse input: foo < @ example . com . >
Parse0 input: foo < @ example . com . >
Parse0 returns: foo < @ example . com . >
ParseLocal input: foo < @ example . com . >
ParseLocal returns: foo < @ example . com . >
Parse1 input: foo < @ example . com . >
Recurse input: moblog
canonify input: moblog
Canonify2 input: moblog
Canonify2 returns: moblog
canonify returns: moblog
parse input: moblog
Parse0 input: moblog
Parse0 returns: moblog
ParseLocal input: moblog
ParseLocal returns: moblog
Parse1 input: moblog
Parse1 returns: $# local $: moblog
parse returns: $# local $: moblog
Recurse returns: $# local $: moblog
Parse1 returns: $# local $: moblog
parse returns: $# local $: moblog
2 input: moblog
2 returns: moblog
EnvToL input: moblog
EnvToL returns: moblog
final input: moblog
final returns: moblog
mailer local, user moblog
> |
# /usr/sbin/sendmail -bt -C/etc/mail/sendmail.cf
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> /parse foo@sub.example.com
Cracked address = $g
Parsing envelope recipient address
canonify input: foo @ sub . example . com
Canonify2 input: foo < @ sub . example . com >
Canonify2 returns: foo < @ example . com . >
canonify returns: foo < @ example . com . >
parse input: foo < @ example . com . >
Parse0 input: foo < @ example . com . >
Parse0 returns: foo < @ example . com . >
ParseLocal input: foo < @ example . com . >
ParseLocal returns: foo < @ example . com . >
Parse1 input: foo < @ example . com . >
Recurse input: moblog
canonify input: moblog
Canonify2 input: moblog
Canonify2 returns: moblog
canonify returns: moblog
parse input: moblog
Parse0 input: moblog
Parse0 returns: moblog
ParseLocal input: moblog
ParseLocal returns: moblog
Parse1 input: moblog
Parse1 returns: $# local $: moblog
parse returns: $# local $: moblog
Recurse returns: $# local $: moblog
Parse1 returns: $# local $: moblog
parse returns: $# local $: moblog
2 input: moblog
2 returns: moblog
EnvToL input: moblog
EnvToL returns: moblog
final input: moblog
final returns: moblog
mailer local, user moblog
>
※ moblog というのはブログを投稿する為の alias です
canonify2 で sub が削除されている事がわかりました ❗
そこで今度は Google で「canonify」を検索したところ情報が出てきました。
RBBTODAY
sendmail.mc に nocanonify を追加して sendmail を再起動して解決できました
基本に立ち返る事が基本 ❗