- Как заставить postfix принимать почту и класть ее в файл?, ALex_hha, 23:48 , 29-Июн-15 (1)
> Поставил postfix. Наладил отправку. А как мне теперь принять почту? И как > вообще проверить, в чем загвоздка. Как итог мне нужно принять почту > для всех несуществующих пользователей (*@site.ru) и для начала записать ее в > файл.Начать с чтения офф документации http://www.postfix.org/postconf.5.html#luser_relay
- Как заставить postfix принимать почту и класть ее в файл?, eRIC, 11:55 , 30-Июн-15 (5)
> Поставил postfix. Наладил отправку.как наладили Отправку, так и Прием наладите. Откуда нам знать какой у вас бекэнд пользователей и доменов, а может быть просто через php mail() наладили отправку и сидите радостный с улыбкой до ушей. Правильно вас в официальные документы послали, чтобы вы сами понимали как все это работает и как нужно делать
- Как заставить postfix принимать почту и класть ее в файл?, ALex_hha, 13:11 , 30-Июн-15 (6) +1
- Как заставить postfix принимать почту и класть ее в файл?, Деми Мур, 15:53 , 30-Июн-15 (7)
telnet localhost 25 Trying ::1... Connected to localhost. Escape character is '^]'. 220 sd1234-02.keymachine.de ESMTP Postfix (Ubuntu) 421 4.4.2 sd1234-02.keymachine.de Error: timeout exceeded Connection closed by foreign host.
- Как заставить postfix принимать почту и класть ее в файл?, Деми Мур, 16:15 , 30-Июн-15 (9)
# See /usr/share/postfix/main.cf.dist for a commented, more complete version # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h readme_directory = no # TLS parameters smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination myhostname = sd1234-02.keymachine.de alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = mail.site.ru, sd1234-02.keymachine.de, localhost.keymachine.de, localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all luser_relay = login local_recipient_maps = virtual_alias_maps = hash:/etc/postfix/virtual_maps
- Как заставить postfix принимать почту и класть ее в файл?, fail, 20:17 , 30-Июн-15 (11)
> telnet localhost 25 > Trying ::1... > Connected to localhost. > Escape character is '^]'. > 220 sd1234-02.keymachine.de ESMTP Postfix (Ubuntu) > 421 4.4.2 sd1234-02.keymachine.de Error: timeout exceeded > Connection closed by foreign host.Ну и тестируем-отправляем (в чем проблемы - то), приблизительный порядок комманд, без helo/ehlo: rcpt to: <touser@mycool.domain> <= PRESS ENTER KEY NOT ANY KEY here are server reply: must 'ok' from: <fromuser@mycool.domain> <= PRESS ENTER KEY NOT ANY KEY here are server reply: must 'ok' data <= PRESS ENTER KEY NOT ANY KEY here are server reply: must 'ok' Subject: TTesTT <= PRESS ENTER KEY NOT ANY KEY TTesTT <= PRESS ENTER KEY NOT ANY KEY . <= PRESS ENTER KEY NOT ANY KEY <= PRESS ENTER KEY NOT ANY KEY here are server reply: must 'ok'
P.S. всего делов-то... и внимательно прочитать базовые мануалы, поверьте это не с SIP`om возиться - любая ошибка в настройке любого MTA диагностируется по 5 (максимум) строчкам из /var/log/mail* и/или telnet`om на соответствующий порт(ы)
- Как заставить postfix принимать почту и класть ее в файл?, Деми Мур, 01:52 , 01-Июл-15 (12)
В общем сделал такvirtual_mailbox_domains = /etc/postfix/vhosts virtual_mailbox_base = /home virtual_mailbox_maps = hash:/etc/postfix/vmailbox virtual_uid_maps = static:1001, static:1002 virtual_gid_maps = static:1001, static:1002 В /etc/postfix/vmailbox @site.ru login/tmp/mail Запись в файл идет. а теперь я хочу попробовать отдать php скрипту и пишу в /etc/postfix/vmailbox @site.ru "|php5-cgi -c /path/to/php.ini /site.ru/public_html/mail.php" (delivery failed to mailbox /home/| "php5-cgi -c /path/to/php.ini /site.ru/public_html/mail.php": unable to create lock file /home/| "php5-cgi -c /path/to/php.ini /site.ru/public_html/mail.php".lock: No such file or directory)
- Как заставить postfix принимать почту и класть ее в файл?, PavelR, 09:40 , 01-Июл-15 (13)
> unable to create lock file /home/| "php5-cgi -c /path/to/php.ini /site.ru/public_html/mail.php".lock: > No such file or directory) Вы в каком городе? Я поищу для вас магазин, где можно купить англо-русский словарик.
- Как заставить postfix принимать почту и класть ее в файл?, fail, 10:05 , 01-Июл-15 (14)
... > В /etc/postfix/vmailbox > @site.ru login/tmp/mail > Запись в файл идет. > а теперь я хочу попробовать отдать php скрипту и пишу в /etc/postfix/vmailbox > @site.ru "|php5-cgi -c /path/to/php.ini /site.ru/public_html/mail.php" первая ссылка с моего гугля - via http://wiki.alpinelinux.org/wiki/Setting_up_postfix_with_vir... (и еще английский прийдется в любом случае подтянуть - ибо это как латынь в медицине) комманда: cat /etc/postfix/vmailbox user1@mycool.domain mycool.domain/user1/ user2@mycool.domain mycool.domain/user2/ @mycool.domain mycool.domain/catchall #<< в этот ящик будут складироваться вся почта не попавшая для user1 или user2 - например для user3@mycool.domain грубо говоря в этом файле (просто прописывается карта соответствий почтовый ящик(user1@mycool.domain) => /home/mycool.domain/user1/ <= в данном конкретном случае ) > (delivery failed to mailbox /home/| "php5-cgi -c /path/to/php.ini /site.ru/public_html/mail.php": > unable to create lock file /home/| "php5-cgi -c /path/to/php.ini /site.ru/public_html/mail.php".lock: > No such file or directory)
ну а здесь пишут о невозможности создать служебный файл блокировки - из-за не понимания пункта выше. Скрипт на ПЫХЕ должен вызываться со стороны УЕБ сервера, с необходимыми параметрами заданными через интерфейс коммандной строки или конфигурационных файлов...
P.S.: И переведите почтовик с формата Mailbox на Maildir, что-то вроде: home_mailbox = Maildir/ mail_spool_directory = /var/spool/mail ... local_transport = virtual virtual_mailbox_domains = example.net virtual_mailbox_base = /var/spool/mail/vhosts virtual_mailbox_maps = hash:/etc/postfix/vmailbox из того же рук-ва внимательно смотрим подразделы: Prepare Create virtual maildir P.P.S: Не боимся еще раз внимательно перечитать: http://sys-adm.org.ua/mail/mail-architech на предмeт Mbox vs Maildir и общей архитектуры и тот-же линк http://wiki.alpinelinux.org/wiki/Setting_up_postfix_with_vir... для базовой экcпреcc утсановки почтовика. Удачи в настройке.
- Как заставить postfix принимать почту и класть ее в файл?, Деми Мур, 13:43 , 01-Июл-15 (15) –1
Все это здорово, но во первых чтобы записать в формате maildir достаточно добавить косую черту в конце. Для чего Вы используете home_mailbox и mail_spool_directory, мне честно говоря не понятно. Я пробежался по документации и насколько понял благодаря translate.google.com это вовсе не обязательно. Более того, при использовании mail_spool_directory директории не будут создаваться автоматически, что в какой-то мере не так удобно. И САМОЕ ГЛАВНОЕ. По указанному мною выше примеру у меня в целом все работает, т.е. в файл или папку я записать могу. Теперь я хочу отдать результат не в директорию или файл, а php скрипту. С командной строки этот скрипт php5-cgi -c /path/to/php.ini /site.ru/public_html/mail.php работает, а вот postfix его не запускает. А надо как-то его запустить
- Как заставить postfix принимать почту и класть ее в файл?, fail, 15:06 , 01-Июл-15 (18)
> Все это здорово, но во первых чтобы записать в формате maildir достаточно > добавить косую черту в конце. Для чего Вы используете home_mailbox и > mail_spool_directory, мне честно говоря не понятно. > Я пробежался по документации и > насколько понял благодаря translate.google.com это вовсе не обязательно. Более того, при > использовании mail_spool_directory директории не будут создаваться автоматически, что > в какой-то мере не так удобно.Полнейшеe ваше право. > И САМОЕ ГЛАВНОЕ. По указанному мною выше примеру у меня в целом > все работает, т.е. в файл или папку я записать могу. Теперь > я хочу отдать результат не в директорию или файл, а php > скрипту. С командной строки этот скрипт php5-cgi -c /path/to/php.ini /site.ru/public_html/mail.php > работает, а вот postfix его не запускает. А надо как-то его > запустить
Тогда углублено изучаем доки к postfix`y (в тех же поиcковиках) на предмет LDA и прочего ... в чем проблемы-то ?
- Как заставить postfix принимать почту и класть ее в файл?, Деми Мур, 15:11 , 01-Июл-15 (20) –1
> Тогда углублено изучаем доки к postfix`y (в тех же поиcковиках) на предмет > LDA и прочего ... в чем проблемы-то ?Я тоже не понимаю, зачем этот форум вообще сделали, когда есть гугл
- Как заставить postfix принимать почту и класть ее в файл?, Дядя_Федор, 23:47 , 01-Июл-15 (23)
> Я тоже не понимаю, зачем этот форум вообще сделали, когда есть гугл Естественно, чтобы задавать элементарные вопросы, тупить и наступать на те грабли, которых бы не возникло, если бы было освоена документация и руководство по Постфиксу.
- Как заставить postfix принимать почту и класть ее в файл?, Аноним, 17:08 , 02-Июл-15 (26)
>> Тогда углублено изучаем доки к postfix`y > Я тоже не понимаю, зачем этот форум вообще сделали, когда есть гугл О! Могу избавить вас от этой омерзительной необходимости - читать и понимать доки. И даже не очень дорого! :) PS: А тыт как думал? :)
- Как заставить postfix принимать почту и класть ее в файл?, eRIC, 14:40 , 01-Июл-15 (16) +1
> @site.ru "|php5-cgi -c /path/to/php.ini /site.ru/public_html/mail.php" > (delivery failed to mailbox /home/| "php5-cgi -c /path/to/php.ini /site.ru/public_html/mail.php": > unable to create lock file /home/| "php5-cgi -c /path/to/php.ini /site.ru/public_html/mail.php".lock: > No such file or directory) не может найти ваш длинный файл, суньте весь ваш код с параметрами в отдельный php и вызывайте его. вы уже задавали вопрос по этом топике: https://www.opennet.ru/openforum/vsluhforumID9/10012.html
- Как заставить postfix принимать почту и класть ее в файл?, Деми Мур, 14:50 , 01-Июл-15 (17)
Ну так а как вызвать то, как в том топике тут уже не выходит
- Как заставить postfix принимать почту и класть ее в файл?, fail, 15:08 , 01-Июл-15 (19)
> Ну так а как вызвать то, как в том топике тут уже > не выходит 3нaния подтягивать !
- Как заставить postfix принимать почту и класть ее в файл?, eRIC, 16:23 , 01-Июл-15 (21)
> Ну так а как вызвать то, как в том топике тут уже > не выходит Деми Мур ты уже начинаешь мне нравится %) я даже могу предположить следующую проблему после того как postfix будет вызывать скрипт. Access denied потому что вы не учтете права в Postfix :) создать файл /tmp/myscript.php: #!/usr/bin/php <?php ## не знаю зачем php5-cgi используете, все это на вашей совести php5-cgi -c /path/to/php.ini /site.ru/public_html/mail.php ?> #chmod +x /tmp/myscript.php #chown nobody:nogroup /tmp/myscript.php (потому что Postfix работает от имени nobody и группы nogroup) редактируете /etc/postfix/vmailbox: @site.ru "| /tmp/myscript.php" или (тут уже похимичайте, под рукой c php поиграться не могу) @site.ru "| php -f /tmp/myscript.php" Но я думаю что таким костылем будет больше проблем чем пользы если окажется что вам нужны будут дополнительные привилегии в цепочке.
По идее было бы правильно и кошерно: 1- создать в системе unix пользователя myposter 2- в домашнем каталоге myposter создать .forward файл: | /home/myposter/myscript.php 3- в /etc/aliases: @site.ru myposter или как у вас в файле /etc/postfix/vmailbox: @site.ru myposter 4- newaliases /etc/aliases (если указали в aliases) 5- добавил пользователя myposter в нужную группу
- Как заставить postfix принимать почту и класть ее в файл?, Деми Мур, 23:02 , 01-Июл-15 (22)
/etc/postfix/vmailbox: @site.ru "| /tmp/myscript.php"работать не будет. Да и насколько я понимаю virtual_mailbox... исключительно на запись работает. пользователя для определил в virtual_alias_maps, и уже в /etc/aliases направил на конкретный скрипт. Соответственно и скрипт у меня будет работать с правами нужного мне пользователя
- Как заставить postfix принимать почту и класть ее в файл?, eRIC, 06:05 , 02-Июл-15 (24)
> /etc/postfix/vmailbox: > @site.ru "| /tmp/myscript.php" > работать не будет. Да и насколько я понимаю virtual_mailbox... исключительно на запись > работает.я просто взял ваш кусок кода, который вы пытались выполнить и показал > пользователя для определил в virtual_alias_maps, и уже в /etc/aliases направил на конкретный > скрипт. Соответственно и скрипт у меня будет работать с правами нужного > мне пользователя ну флаг вам в зубы и вперед!
- Как заставить postfix принимать почту и класть ее в файл?, Аноним, 17:15 , 02-Июл-15 (27)
> Соответственно и скрипт у меня будет работать с правами нужного мне пользователя Обожаю глупых блондинок! :)
|