Exim แคแแกแขแแก แกแแ แแแ แแ
แแแแฃแแแกแฎแแแ แแแแคแแแฃแ แแชแแแจแ, แแแแแแกแฎแแ แจแแแซแแแแ แแแแฎแแ แชแแแแแแก แแแแแแแแ แแแ แแแแฎแแแ แแแแแก แแแแ แแแแแแขแ แแแ แแฃแแแแแแแก แแแ แแจแ, แ แแแแแ แแแแแแงแแแแแ "verify = recipient" ACL, แ แแแแแแช แแกแ แฃแแแแก แแแแแขแแแแ แจแแแแฌแแแแแก แแแ แ แแแกแแแแ แแแแแกแแแแก. แแแกแขแแแชแแฃแ แ แจแแขแแแ แจแแแซแแแแ แแแฎแแแก, แ แแแแกแแช แแชแแแแแ แแแ แแแแขแ แแแ, แแแแแแแแแ, แแแฅแแแแแแก แ แแแแ แช แแแแ แแแ MX แกแฎแแ แแแแแแแกแแแแก, "verify=recipient" ACL-แแก แฌแแจแแ แแ แแแ แแแแฃแแ แชแแแแแแแแแ local_part_suffix-แจแ). แแแกแขแแแชแแฃแ แ แจแแขแแแ แแกแแแ แจแแกแแซแแแแแแแ, แแฃ แแแแแแแกแฎแแแแก แจแแฃแซแแแ แกแแ แแแ แแแ แแแแจแแ แ 7 แแฆแแก แแแแแแแแแแแจแ แฆแแแ แจแแแแแฎแแก (แแแแแแแแแ, แแแแแแแแแแแแก แแ แแ แแแแขแ แฌแฃแแจแ แแ แแแก แแแแ แแแก แแแแแ). แแแแแแ แแฃแแแ, แจแแกแแซแแแแแแแ, แ แแ แแ แกแแแแแแแก แจแแขแแแแก แฃแคแ แ แแแ แขแแแ แแแฅแขแแ แแแ แแ แแแแแแแก แแแกแขแแแชแแฃแ แ แแฅแกแแแฃแแขแแชแแแกแแแแก.
แแแฃแชแแแแแแ แแแแแฌแแแฃแแแ แแแแฆแแแแก แแแกแแแแ แแแก แแ แแกแฌแแ แ แแแแแแแฌแแแแแ deliver_message() แคแฃแแฅแชแแแจแ, แ แแแแแแช แแแแกแแแฆแแ แฃแแแ /src/deliver.c แคแแแแจแ. แแแกแแแแ แแแก แคแแ แแแขแแ แแแแก แแแแแแฃแแแ แแแแ, แแแแแแแกแฎแแแแก แจแแฃแซแแแ แแแแฆแฌแแแก แแแแแกแ แแแแแชแแแแแแก แฉแแแแชแแแแแแก แแ แซแแแแแแก แแ แแฃแแแแขแแแจแ, แ แแแแแแช แแแแแแซแแฎแ execv() แคแฃแแฅแชแแแก แแแจแแแแแแ root แฃแคแแแแแแแ. แแแแ แแชแแ แแ แกแแญแแ แแแแก แแแแแแแฅแกแฃแ แ แขแแฅแแแแแก แแแแแงแแแแแแก, แ แแแแแแแช แแแแแแงแแแแแ แแฃแคแแ แฃแแ แแแแแแแแแแแก แแ แแแฎแกแแแ แแแแก แแแแแแแแแแกแแแแก; แกแแแแแแแแแแก แแแ แขแแแ แฉแแแแชแแแแแ แกแแแแแ แแกแแ.
แแ แแแแแแ แแแแแแจแแ แแแฃแแแ แแแแกแขแ แฃแฅแชแแแก แแแแแงแแแแแแกแแแ แแแกแแแแ แแแก แแแแแแ แขแแชแแแกแแแแก:
deliver_localpart = expand_string(
string_sprintf("${local_part:%s}", new->แแแกแแแแ แแ));
แแแฌแแแแแแก_แแแแแแ = แแแคแแ แแแแแแก_แกแขแ แแฅแแแ(
string_sprintf("${domain:%s}", new->แแแกแแแแ แแ));
Expand_string() แคแฃแแฅแชแแ แแ แแก แแแแแแขแแ แ แแฃแแ แแแแแแแแขแแ แ, แ แแแแแแช แแแแชแแแก แแ แซแแแแแแก โ${run{command arguments}โ แแแแชแแแแแก, แ แแช แแฌแแแแก แแแ แ แแแแแฃแจแแแแแแแก แแแจแแแแแก. แแแ แแแแ, SMTP แกแแกแแแก แคแแ แแแแแจแ แแแแแแกแฎแแแกแแแแก, แแแแแแแแ แแ แแแแฎแแแ แแแแแก แแฎแแแแ แฃแแแ แแแฃแแแแแแแก แแ แซแแแแแ, แ แแแแ แแชแแ 'RCPT TO "username+${run{...}}@localhost"', แกแแแแช localhost แแ แแก แแ แ-แแ แแ แฐแแกแขแ local_domains แกแแแแแ. แแ แแแแฎแแแ แแแแแก แกแแฎแแแ แแ แแก แแ แกแแแฃแแ แแแแแแแแ แแแ แแแแฎแแแ แแแแแก แกแแฎแแแ.
แแฃ แกแแ แแแ แ แแฃแจแแแแก แคแแกแขแแก แ แแแแ, แกแแแแแ แแกแแ แแแกแขแแแชแแฃแ แแ แแแแแแแแแ แแ แซแแแแแ โRCPT TO โ${run{...}}@relaydomain.comโ, แกแแแแช relaydomain.com แแ แแก แแ แ-แแ แแ แฐแแกแขแ, แ แแแแแแช แฉแแแแแแแแแแ relay_to_domains-แจแ. แแแ แแแแขแ แแแแก แแแแงแแคแแแแแ. แแแแแแแแ Exim แแแแฃแแแกแฎแแแแแ แแ แขแแแแแก แแ แแแแแแแแฃแ แ แแแแแก (deliver_drop_privilege = false), "${run{...}}"-แแ แแแแแชแแแฃแแ แแ แซแแแแแแแ แจแแกแ แฃแแแแแ แ แแแแ แช root.
แแฆแกแแแแจแแแแแ, แ แแ แแแฃแชแแแแแแ แแงแ
แฌแแแ แแแ แกแแแแแก แจแแกแฌแแ แแแ, แ แแแแแแแช แแแแแ แแแแแแงแแแแแ แแแกแขแ แแแฃแชแแแแจแ, แแแแแแแ แฎแแแแแกแแฌแแแแแแ แแฎแแแแ แ แแแแ แช
แฌแงแแ แ: opennet.ru