Очередной привет.
Помогите, а то голова кругом.
Есть postfix и dovecot. Postix настроен принимать локально почту на $mydomain, соответственно, для ее растасовки по ящикам postfix вызывает команду, написанную в параметре mailbox_command. С давкотом это должен быть давкотовский deliver:
main.cf:
mydestination = $myhostname, localhost.$mydomain, $mydomain
mailbox_command = /usr/lib/dovecot/deliver
Это работает. Более того, если я хочу сделать свой скрипт доставки, я это тоже могу сделать, например:
main.cf:
mailbox_command = /usr/local/lib/me/mydeliver
mydeliver:
#!/bin/sh
echo $ORIGINAL_RECIPIENT >>/home/me/mylog
/usr/lib/dovecot/deliver
Эхо тут в качестве примера, смысл в том, что скрипт что-то делает, а потом вызывает deliver. Это тоже работает. Потом мне локальной доставки показалось мало, и я начал мудрить с виртуальной. Сделал как в давкотовской вики, т.е.
main.cf:
mydestination = $myhostname, localhost.$myhostname
virtual_mailbox_domains = $mydomain
virtual_transport = dovecot
master.cf:
dovecot unix - n n - - pipe
flags=q user=vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}
После чего deliver начал валиться в кору (segmentation fault). Для выяснения что с ним, собственно, случилось, я хотел вызвать его сам из своего скрипта, снабдив нужными переменными. К примеру так:
testdeliver:
#!/bin/sh
export CLIENT_ADDRESS=127.0.0.1
export CLIENT_HELO=mycomp
export RECIPIENT=user@domain.local
...
/usr/lib/dovecot/deliver </home/me/emailmessage
И получил большой жырный болт. Deliver все время говорит, что не указан параметр -d <recipient>. Но, во-первых, если ему этот параметр указать, он валится в кору. Но с корой более-менее понятно: я взял другую сборку и там он уже не падает, а по-человечески пишет, что не может подключиться к dovecot-auth, это уже ясно куда копать. А во-вторых, и это для меня сейчас наиболее интересно: postfix не передает никаких параметров, когда вызывает этот deliver. И, тем не менее, он отрабатывает нормально. Вопрос: КАК он его вызывает, или как передает параметры для этого? Я уже пробовал так: сделал mailbox_command=/usr/local/lib/me/vardeliver, в котором set >/home/me/delivervars, и абсолютно все переменные из получившегося файла экспортировал как написано выше перед вызовом /usr/lib/dovecot/deliver, и всё равно он упорно требует параметр -d. Что ж ему ещё, гаду, нужно?
Ответ на:
комментарий
от Valmont
Ответ на:
комментарий
от shamus24
Ответ на:
комментарий
от Valmont
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Postfix Dovecot dspam (2015)
- Форум postfix проблемы с входящей почтой (2002)
- Форум Postfix не могу авторизоваться (2010)
- Форум Postfix не подымает 25 порт. (2010)
- Форум Не работает relay в postfix. (2013)
- Форум postfix (2005)
- Форум dovecot LDA. Не доставляет письма. (2010)
- Форум postfix+dovecot+sieve+vacation (не работает автоответчик) (2023)
- Форум postfix и почта в локалке (2003)
- Форум postfix dovecot (2014)