Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
hl2 [2016/02/01 19:31] root |
hl2 [2016/02/01 19:35] (текущий) root |
||
---|---|---|---|
Строка 98: | Строка 98: | ||
</pre></div> | </pre></div> | ||
</HTML> | </HTML> | ||
+ | |||
+ | |||
+ | ==== MONOKAI ==== | ||
+ | <HTML> | ||
+ | <div><pre class="monokai"><span class="ch">#!/bin/bash</span> | ||
+ | <span class="nv">ALTERMIME</span><span class="o">=</span>/usr/bin/altermime | ||
+ | <span class="nv">SENDMAIL</span><span class="o">=</span>/usr/sbin/sendmail | ||
+ | <span class="nv">ALTERMIME_DIR</span><span class="o">=</span>/tmp | ||
+ | |||
+ | <span class="c1"># Ожидается, что коды завершения команд, вызываемых Postfix,</span> | ||
+ | <span class="c1"># будут придерживаться правил, определенных в <sysexits.h>.</span> | ||
+ | <span class="nv">TEMPFAIL</span><span class="o">=</span>75 | ||
+ | <span class="nv">UNAVAILABLE</span><span class="o">=</span>69 | ||
+ | |||
+ | <span class="c1"># Перейти в рабочий каталог и уведомить Postfix в случае неудачи 'cd'.</span> | ||
+ | <span class="nb">cd</span> <span class="nv">$A</span>LTERMIME_DIR <span class="o">||</span> <span class="o">{</span> <span class="nb">echo</span> <span class="nv">$A</span>LTERMIME_DIR does not exist<span class="p">;</span> <span class="nb">exit</span> $TEMPFAIL<span class="p">;</span> <span class="o">}</span> | ||
+ | |||
+ | <span class="c1"># Очистка по завершении или прерывании работы.</span> | ||
+ | <span class="nb">trap</span> <span class="s2">"rm -f in.</span><span class="nv">$$</span><span class="s2">"</span> <span class="m">0</span> <span class="m">1</span> <span class="m">2</span> <span class="m">3</span> 15 | ||
+ | |||
+ | <span class="c1"># Запись почты во временный файл. Уведомление Postfix в случае неудачи.</span> | ||
+ | cat >in.<span class="nv">$$</span> <span class="o">||</span> <span class="o">{</span> <span class="nb">echo</span> Cannot write to $RIPMIME_DIR<span class="p">;</span> <span class="nb">exit</span> $TEMPFAIL<span class="p">;</span> <span class="o">}</span> | ||
+ | |||
+ | <span class="c1"># Вызываем alterMIME, передаем ей сообщение и говорим, что необходимо удалить все вложения</span> | ||
+ | <span class="nv">$A</span>LTERMIME --input<span class="o">=</span>in.<span class="nv">$$</span> --removeall <span class="o">||</span> <span class="o">{</span> <span class="nb">echo</span> Message content rejected<span class="p">;</span> <span class="nb">exit</span> $UNAVAILABLE<span class="p">;</span> <span class="o">}</span> | ||
+ | |||
+ | <span class="c1"># Вызов sendmail для возврата сообщения обратно в Postfix</span> | ||
+ | $SENDMAIL <span class="s2">"</span><span class="nv">$@</span><span class="s2">"</span> <in.<span class="nv">$$</span> | ||
+ | |||
+ | <span class="c1"># Используем код завершения sendmail, чтобы сообщить Postfix, как все прошло.</span> | ||
+ | <span class="nb">exit</span> <span class="nv">$?</span> | ||
+ | </pre></div> | ||
+ | </HTML> | ||
+ | |||
+ | |||
+ | ==== DARKY ==== | ||
+ | <HTML> | ||
+ | <div><pre class="darky"><span class="ch">#!/bin/bash</span> | ||
+ | <span class="nv">ALTERMIME</span><span class="o">=</span>/usr/bin/altermime | ||
+ | <span class="nv">SENDMAIL</span><span class="o">=</span>/usr/sbin/sendmail | ||
+ | <span class="nv">ALTERMIME_DIR</span><span class="o">=</span>/tmp | ||
+ | |||
+ | <span class="c1"># Ожидается, что коды завершения команд, вызываемых Postfix,</span> | ||
+ | <span class="c1"># будут придерживаться правил, определенных в <sysexits.h>.</span> | ||
+ | <span class="nv">TEMPFAIL</span><span class="o">=</span>75 | ||
+ | <span class="nv">UNAVAILABLE</span><span class="o">=</span>69 | ||
+ | |||
+ | <span class="c1"># Перейти в рабочий каталог и уведомить Postfix в случае неудачи 'cd'.</span> | ||
+ | <span class="nb">cd</span> <span class="nv">$A</span>LTERMIME_DIR <span class="o">||</span> <span class="o">{</span> <span class="nb">echo</span> <span class="nv">$A</span>LTERMIME_DIR does not exist<span class="p">;</span> <span class="nb">exit</span> $TEMPFAIL<span class="p">;</span> <span class="o">}</span> | ||
+ | |||
+ | <span class="c1"># Очистка по завершении или прерывании работы.</span> | ||
+ | <span class="nb">trap</span> <span class="s2">"rm -f in.</span><span class="nv">$$</span><span class="s2">"</span> <span class="m">0</span> <span class="m">1</span> <span class="m">2</span> <span class="m">3</span> 15 | ||
+ | |||
+ | <span class="c1"># Запись почты во временный файл. Уведомление Postfix в случае неудачи.</span> | ||
+ | cat >in.<span class="nv">$$</span> <span class="o">||</span> <span class="o">{</span> <span class="nb">echo</span> Cannot write to $RIPMIME_DIR<span class="p">;</span> <span class="nb">exit</span> $TEMPFAIL<span class="p">;</span> <span class="o">}</span> | ||
+ | |||
+ | <span class="c1"># Вызываем alterMIME, передаем ей сообщение и говорим, что необходимо удалить все вложения</span> | ||
+ | <span class="nv">$A</span>LTERMIME --input<span class="o">=</span>in.<span class="nv">$$</span> --removeall <span class="o">||</span> <span class="o">{</span> <span class="nb">echo</span> Message content rejected<span class="p">;</span> <span class="nb">exit</span> $UNAVAILABLE<span class="p">;</span> <span class="o">}</span> | ||
+ | |||
+ | <span class="c1"># Вызов sendmail для возврата сообщения обратно в Postfix</span> | ||
+ | $SENDMAIL <span class="s2">"</span><span class="nv">$@</span><span class="s2">"</span> <in.<span class="nv">$$</span> | ||
+ | |||
+ | <span class="c1"># Используем код завершения sendmail, чтобы сообщить Postfix, как все прошло.</span> | ||
+ | <span class="nb">exit</span> <span class="nv">$?</span> | ||
+ | </pre></div> | ||
+ | </HTML> | ||
+ | |||
+ | |||
+ | ==== ZENBURN ==== | ||
+ | <HTML> | ||
+ | <div><pre class="zenburn"><span class="ch">#!/bin/bash</span> | ||
+ | <span class="nv">ALTERMIME</span><span class="o">=</span>/usr/bin/altermime | ||
+ | <span class="nv">SENDMAIL</span><span class="o">=</span>/usr/sbin/sendmail | ||
+ | <span class="nv">ALTERMIME_DIR</span><span class="o">=</span>/tmp | ||
+ | |||
+ | <span class="c1"># Ожидается, что коды завершения команд, вызываемых Postfix,</span> | ||
+ | <span class="c1"># будут придерживаться правил, определенных в <sysexits.h>.</span> | ||
+ | <span class="nv">TEMPFAIL</span><span class="o">=</span>75 | ||
+ | <span class="nv">UNAVAILABLE</span><span class="o">=</span>69 | ||
+ | |||
+ | <span class="c1"># Перейти в рабочий каталог и уведомить Postfix в случае неудачи 'cd'.</span> | ||
+ | <span class="nb">cd</span> <span class="nv">$A</span>LTERMIME_DIR <span class="o">||</span> <span class="o">{</span> <span class="nb">echo</span> <span class="nv">$A</span>LTERMIME_DIR does not exist<span class="p">;</span> <span class="nb">exit</span> $TEMPFAIL<span class="p">;</span> <span class="o">}</span> | ||
+ | |||
+ | <span class="c1"># Очистка по завершении или прерывании работы.</span> | ||
+ | <span class="nb">trap</span> <span class="s2">"rm -f in.</span><span class="nv">$$</span><span class="s2">"</span> <span class="m">0</span> <span class="m">1</span> <span class="m">2</span> <span class="m">3</span> 15 | ||
+ | |||
+ | <span class="c1"># Запись почты во временный файл. Уведомление Postfix в случае неудачи.</span> | ||
+ | cat >in.<span class="nv">$$</span> <span class="o">||</span> <span class="o">{</span> <span class="nb">echo</span> Cannot write to $RIPMIME_DIR<span class="p">;</span> <span class="nb">exit</span> $TEMPFAIL<span class="p">;</span> <span class="o">}</span> | ||
+ | |||
+ | <span class="c1"># Вызываем alterMIME, передаем ей сообщение и говорим, что необходимо удалить все вложения</span> | ||
+ | <span class="nv">$A</span>LTERMIME --input<span class="o">=</span>in.<span class="nv">$$</span> --removeall <span class="o">||</span> <span class="o">{</span> <span class="nb">echo</span> Message content rejected<span class="p">;</span> <span class="nb">exit</span> $UNAVAILABLE<span class="p">;</span> <span class="o">}</span> | ||
+ | |||
+ | <span class="c1"># Вызов sendmail для возврата сообщения обратно в Postfix</span> | ||
+ | $SENDMAIL <span class="s2">"</span><span class="nv">$@</span><span class="s2">"</span> <in.<span class="nv">$$</span> | ||
+ | |||
+ | <span class="c1"># Используем код завершения sendmail, чтобы сообщить Postfix, как все прошло.</span> | ||
+ | <span class="nb">exit</span> <span class="nv">$?</span> | ||
+ | </pre></div> | ||
+ | </HTML> | ||
+ | |||