Страница 1 из 2

Exim, postfixadmin + vacation

Добавлено: 2007-02-16 17:47:22
gregor_anon
Кто-нибудь прикручивал модуль vacation к связке Exim + postfixadmin? В доке написано:
4. Setup the transport type
--------------------
Define the transport type in the Postfix master file:

#/etc/postfix/master.cf:
filter unix - n n - - pipe
flags=DRhu user=vacation argv=/var/spool/vacation/vacation.pl

Tell Postfix to use a transport maps file, so add the following to your
Postfix main.cf:

#/etc/postfix/main.cf:
transport_maps = hash:/etc/postfix/transport

Then add the transport definition to the newly created transport file.
Obviously, change yourdomain.com to your own domain. This can be any
arbitrary domain, and it is easiest if you just choose one that will be used
for all your domains.

#/etc/postfix/transport
autoreply.yourdomain.com vacation

Execute "postmap /etc/postfix/transport" to build the hashed database.

Execute "postfix reload" to complete the change.
а как это сделать в exim? Или есть другой способ?

Добавлено: 2007-02-16 17:51:20
Alex Keda
а чё за вакатион?

Добавлено: 2007-02-16 18:08:01
gregor
lissyara писал(а):а чё за вакатион?
Ну это типа автответа если ты в отпуске, включил автоответчик и все знают что тебя пока нет. VIRTUAL_VACATION папка в дирректории postfixadmin.

P.S. Наконец зарегистрировался.

Добавлено: 2007-02-16 18:12:04
Alex Keda
http://www.lissyara.su/?id=1227
чем неустраивает?

Добавлено: 2007-02-16 18:31:00
gregor
lissyara писал(а):http://www.lissyara.su/?id=1227
чем неустраивает?
Интересная дока, но как это описать в конфиге используя таблицу модуля vocation:

Код: Выделить всё

CREATE TABLE vacation (
  email varchar(255) NOT NULL default '',
  subject varchar(255) NOT NULL default '',
  body text NOT NULL,
  cache text NOT NULL,
  domain varchar(255) NOT NULL default '',
  created datetime NOT NULL default '0000-00-00 00:00:00',
  active tinyint(4) NOT NULL default '1',
  PRIMARY KEY  (email),
  KEY email (email)
) TYPE=MyISAM COMMENT='Postfix Admin - Virtual Vacation';

Код: Выделить всё

address_reply:
  driver = autoreply
 ...

Добавлено: 2007-02-16 18:47:19
gregor

Код: Выделить всё

address_reply:
  driver = autoreply
  from = $original_local_part@$domain 
  subject = ${lookup mysql{SELECT subject FROM vacation WHERE ... }}
  text = ${lookup mysql{SELECT body FROM vacation WHERE ... }}
  to = ${lookup mysql{SELECT email FROM vacation WHERE ... }}
Правильно мыслю?

Добавлено: 2007-02-18 22:11:01
gregor
Вроде сделал, кому интересно смотрите:
в роутенге после всех проверок на спам (хотя наверно надо до чтом не дёргать dspam+mysql) пишем:

Код: Выделить всё

vacation_director:
  driver = accept
  domains = ${lookup mysql{SELECT domain FROM vacation WHERE \
                       domain='${quote_mysql:$domain}' AND \
                       email='${quote_mysql:$local_part@$domain}' AND \
                       active='1'}{$value}}
  transport = vacation_autoreply
  unseen
в транспорте в любом месте описываем:

Код: Выделить всё

vacation_autoreply:
  driver = autoreply
  user = mail
  group = mail
  to = ${sender_address}
  from = "${local_part}@${domain}"
  log = /var/log/exim/vacation.log
  subject = "Auto Reply from ${local_part}@${domain}"
  text = ${lookup mysql {SELECT body FROM vacation \
        WHERE domain='${quote_mysql:$domain}' AND \
        email='${quote_mysql:$local_part@$domain}'}{$value}}

Добавлено: 2007-02-19 0:26:33
Alex Keda
толи лыжи не едут...
=========
там оригинальный индексный файл в этой директории - пустой, фактически.
к нему интерфейса нету чтоль?

Добавлено: 2007-02-19 15:43:20
gregor
lissyara писал(а):толи лыжи не едут...
=========
там оригинальный индексный файл в этой директории - пустой, фактически.
к нему интерфейса нету чтоль?
Это ты о чём?

Добавлено: 2007-02-19 15:44:25
Alex Keda
я о том, как этим управлять...

Добавлено: 2007-02-19 17:38:06
gregor
lissyara писал(а):я о том, как этим управлять...
В postfixadmin включаешь модуль vacation и по ссылке http://where-postfixadmin-location/users каждый юзер почтового сервера может включить или выключить автоответчик (там ещё можно пароль менять), правда "Subject" поле не участвует в формировании autoreply письма так как кириллица не допустима в сабжекте письма.

Добавлено: 2007-02-19 17:58:23
Alex Keda
о. вкурил.

Добавлено: 2007-03-03 12:26:34
Zedik
для тех у кого авторизация проходит по name@domen нужно править в vacation.php
строку $goto = $tGoto . "," . "$USERID_USERNAME@$vacation_domain";
до такой: $goto = $tGoto . "," . "$USERID_USERNAME";

Добавлено: 2007-03-03 17:43:19
gregor
Zedik писал(а):для тех у кого авторизация проходит по name@domen нужно править в vacation.php
строку $goto = $tGoto . "," . "$USERID_USERNAME@$vacation_domain";
до такой: $goto = $tGoto . "," . "$USERID_USERNAME";
А что это даёт? У меня вроде и так работает.

P.S. Для SM поставил postfixadmin plugin, вполне доволен. Единственное alias не разрешает завести.

Добавлено: 2007-03-03 19:45:42
gregor
Написал разработчику плагина и вложил ru po файл. Жду ответа...

Добавлено: 2007-03-03 20:14:00
Zedik
gregor писал(а):
Zedik писал(а):для тех у кого авторизация проходит по name@domen нужно править в vacation.php
строку $goto = $tGoto . "," . "$USERID_USERNAME@$vacation_domain";
до такой: $goto = $tGoto . "," . "$USERID_USERNAME";
А что это даёт? У меня вроде и так работает.

P.S. Для SM поставил postfixadmin plugin, вполне доволен. Единственное alias не разрешает завести.
у меня он к доставке адрес назначения выставлял name@domen@domen
а что за плугин?

Добавлено: 2007-03-03 20:34:10
gregor
Zedik писал(а): [...]
а что за плугин?
Все функции из http://where_postfixadmin_locate/users теперь доступны в SquirrelMail, т. е. Alias, Auto Response (vacation), Change Password

Добавлено: 2007-07-13 13:52:48
sergio
Zedik писал(а):для тех у кого авторизация проходит по name@domen нужно править в vacation.php
строку $goto = $tGoto . "," . "$USERID_USERNAME@$vacation_domain";
до такой: $goto = $tGoto . "," . "$USERID_USERNAME";
Заменил, однако

Код: Выделить всё

temporarily rejected RCPT <sergio@ol.org.ua>: error in redirect data: malformed address: @ol.org.ua may not follow sergio@ol.org.ua in "sergio@ol.org.ua@ol.org.ua"

Добавлено: 2007-07-13 15:16:33
sergio
Сори разобрался
Все пашет!
Только вот беда - пытаюсь тему получить из mysql:

Код: Выделить всё

vacation_autoreply:
  driver = autoreply
  user = mailnull
  group = mail
  to = ${sender_address}
  from = "${local_part}@${domain}"
  log = /var/log/exim/vacation.log
  #subject = Auto Reply from ${local_part}@${domain}

 subject = ${lookup mysql {SELECT subject FROM vacation \
        WHERE domain='${quote_mysql:$domain}' AND \
        email='${quote_mysql:$local_part@$domain}'}{$value}}

 text = ${lookup mysql {SELECT body FROM vacation \
        WHERE domain='${quote_mysql:$domain}' AND \
        email='${quote_mysql:$local_part@$domain}'}{$value}}

при этом если в теме латинские символы- все ок, а вот если кирилица - ОШИБКА!

Код: Выделить всё

 Expansion of "${lookup mysql {SELECT subject FROM vacation WHERE domain='${quote_mysql:$domain}' AND email='${quote_mysql:$local_part@$domain}'}{$value}}" in vacation_autoreply transport contains non-printing character 216

Добавлено: 2007-07-13 15:32:26
Alex Keda
а там нельзя кириллицу...
можно схитрить. заюзать это:
http://ru2.php.net/urlencode
т.е. письмо должно быть в html с символами русскими кодированными таким макаром.
браузеры нормално понимают русские символы кодированные таким макаром.
те почтовые клиенты(большинство) которые используют внешнюю смотрелку для писем в html - тоже поймут.
===========
причём мона ну совсем простой html - а текст внутри ограничиичть тегами < pre></pre >

Добавлено: 2007-07-13 15:58:56
gregor
Можно ведь передать Content-transfer-enciding? Или я ошибаюсь?

Добавлено: 2007-07-13 16:07:45
Alex Keda
в смысле?

Добавлено: 2007-07-14 15:51:48
gregor
lissyara писал(а):в смысле?
Ну типа exim может сформировать правильный заголовок письма.

Добавлено: 2007-07-14 19:53:49
Alex Keda
не. это старая тема, и вроде штатными средствами её никто не решил.
===========
сделаешь (неважно как) - отпишись.
думаю многим будет интересно. В т.ч. и мне.

Re:

Добавлено: 2009-09-17 17:07:25
вущтшышн
sergio писал(а):
Zedik писал(а):для тех у кого авторизация проходит по name@domen нужно править в vacation.php
строку $goto = $tGoto . "," . "$USERID_USERNAME@$vacation_domain";
до такой: $goto = $tGoto . "," . "$USERID_USERNAME";
Заменил, однако

Код: Выделить всё

temporarily rejected RCPT <sergio@ol.org.ua>: error in redirect data: malformed address: @ol.org.ua may not follow sergio@ol.org.ua in "sergio@ol.org.ua@ol.org.ua"

Как ты с этим разобрался?