sendmail nocanonify

サーバのドメインをサブドメインに変更したらメールを受信してブログ記事を
投稿する処理がエラーになってしまう現象が発生 😥

開発用のサーバなので良かったのですが 😐

調べるのに結構時間がかかってしまったのでメモ。

調べてみたところ記事投稿用アドレスにサブドメインを付けると
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
>

※ moblog というのはブログを投稿する為の alias です

canonify2 で sub が削除されている事がわかりました ❗

そこで今度は Google で「canonify」を検索したところ情報が出てきました。

RBBTODAY

sendmail.mc に nocanonify を追加して sendmail を再起動して解決できました :mrgreen:

FEATURE(nocanonify)dnl

基本に立ち返る事が基本 ❗