рдПрдХреНрдЬрд╝рд┐рдо рдореЗрд▓ рд╕рд░реНрд╡рд░ рдореЗрдВ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ, рд╕реНрдерд╛рдиреАрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рд╣рдорд▓рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ "рд╕рддреНрдпрд╛рдкрд┐рдд = рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛" рдПрд╕реАрдПрд▓ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдмрд╛рд╣рд░реА рдкрддреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рдЬрдм рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрджрд▓реА рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рд░рд┐рдореЛрдЯ рдЕрдЯреИрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рджреНрд╡рд┐рддреАрдпрдХ рдПрдордПрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рдирд╛, "рд╕рддреНрдпрд╛рдкрд┐рдд = рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛" рдПрд╕реАрдПрд▓ рдХреЛ рд╣рдЯрд╛рдирд╛, рдпрд╛ рд▓реЛрдХрд▓_рдкрд╛рд░реНрдЯ_рд╕рдлрд┐рдХреНрд╕ рдореЗрдВ рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрди)ред рдпрджрд┐ рд╣рдорд▓рд╛рд╡рд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреЛ 7 рджрд┐рдиреЛрдВ рддрдХ рдЦреБрд▓рд╛ рд░рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐ рдорд┐рдирдЯ рдПрдХ рдмрд╛рдЗрдЯ рднреЗрдЬрдирд╛) рддреЛ рд░рд┐рдореЛрдЯ рд╣рдорд▓рд╛ рднреА рд╕рдВрднрд╡ рд╣реИред рд╕рд╛рде рд╣реА, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЗ рджреВрд░рд╕реНрде рд╢реЛрд╖рдг рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдЖрдХреНрд░рдордг рд╡реИрдХреНрдЯрд░ рд╣реЛрдВред
рднреЗрджреНрдпрддрд╛ /src/deliver.c рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдбрд┐рд▓реАрд╡рд░_рдореИрд╕реЗрдЬ() рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЗ рдкрддреЗ рдХреЗ рдЧрд▓рдд рд╕рддреНрдпрд╛рдкрди рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИред рдПрдбреНрд░реЗрд╕ рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдХреЗ, рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рд░реВрдЯ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде execv() рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреБрд▓рд╛рдП рдЧрдП рдХрдорд╛рдВрдб рдХреЗ рддрд░реНрдХреЛрдВ рдореЗрдВ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдмрдлрд░ рдУрд╡рд░рдлреНрд▓реЛ рдпрд╛ рдореЗрдореЛрд░реА рднреНрд░рд╖реНрдЯрд╛рдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЬрдЯрд┐рд▓ рддрдХрдиреАрдХреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ; рд╕рд░рд▓ рдЪрд░рд┐рддреНрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рд╕рдорд╕реНрдпрд╛ рдкрддрд╛ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ:
рдбрд┐рд▓реАрд╡рд░_рд▓реЛрдХрд▓рдкрд╛рд░реНрдЯ = рдПрдХреНрд╕рдкреИрдВрдб_рд╕реНрдЯреНрд░рд┐рдВрдЧ(
string_sprintf('${local_part:%s}', new->рдкрддрд╛));
рдбрд┐рд▓реАрд╡рд░_рдбреЛрдореЗрди = рд╡рд┐рд╕реНрддрд╛рд░_рд╕реНрдЯреНрд░рд┐рдВрдЧ(
string_sprintf('${рдбреЛрдореЗрди:%s}', рдирдпрд╛->рдкрддрд╛));
рдПрдХреНрд╕рдкреЗрдВрдб_рд╕реНрдЯреНрд░рд┐рдВрдЧ() рдлрд╝рдВрдХреНрд╢рди рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХреЙрдореНрдмрд┐рдирд░ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрдорд╛рдВрдб "${рд░рди{рдХрдорд╛рдВрдб рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯреНрд╕}" рдХреЛ рдкрд╣рдЪрд╛рдирдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬреЛ рдПрдХ рдмрд╛рд╣рд░реА рд╣реИрдВрдбрд▓рд░ рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рдПрд╕рдПрдордЯреАрдкреА рд╕рддреНрд░ рдХреЗ рднреАрддрд░ рд╣рдорд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реНрдерд╛рдиреАрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЗрд╡рд▓ 'рдЖрд░рд╕реАрдкреАрдЯреА рдЯреВ "рдпреВрдЬрд░рдиреЗрдо+${рд░рди{...}}@рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ"' рдЬреИрд╕рд╛ рдХрдорд╛рдВрдб рднреЗрдЬрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИ, рдЬрд╣рд╛рдВ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рд▓реЛрдХрд▓_рдбреЛрдореЗрди рд╕реВрдЪреА рд╕реЗ рд╣реЛрд╕реНрдЯ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдореМрдЬреВрджрд╛ рд╕реНрдерд╛рдиреАрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдирд╛рдо рд╣реИред
рдпрджрд┐ рд╕рд░реНрд╡рд░ рдореЗрд▓ рд░рд┐рд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ 'рдЖрд░рд╕реАрдкреАрдЯреА рдХреЛ "${run{...}}@relaydomain.com"' рдкрд░ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЬрд╣рд╛рдВ рд░рд┐рд▓реЗрдбреЛрдореЗрди.рдХреЙрдо, рд░рд┐рд▓реЗ_рдЯреВ_рдбреЛрдореЗрди рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рд╣реЛрд╕реНрдЯ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЕрдиреБрднрд╛рдЧ. рдЪреВрдВрдХрд┐ рдПрдХреНрдЬрд╝рд┐рдо рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдореЛрдб (рдбрд┐рд▓реАрд╡рд░_рдбреНрд░реЙрдк_рдкреНрд░рд┐рд╡рд┐рд▓реЗрдЬ = рдЧрд▓рдд) рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╣реАрдВ рд╣реИ, "${run{...}}" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рдХрдорд╛рдВрдб рдХреЛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрд╣ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ рдХрд┐ рднреЗрджреНрдпрддрд╛ рдереА
рд╡рд┐рддрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ рдЙрдкрд▓рдмреНрдз рд╣реИ
рд╕реНрд░реЛрдд: opennet.ru