The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как заставить postfix принимать почту и класть ее в файл?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (Разное)
Изначальное сообщение [ Отслеживать ]

"Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от Деми Мур on 29-Июн-15, 23:04 
Поставил postfix. Наладил отправку. А как мне теперь принять почту? И как вообще проверить, в чем загвоздка. Как итог мне нужно принять почту для всех несуществующих пользователей (*@site.ru) и для начала записать ее в файл.
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от ALex_hha (ok) on 29-Июн-15, 23:48 
> Поставил postfix. Наладил отправку. А как мне теперь принять почту? И как
> вообще проверить, в чем загвоздка. Как итог мне нужно принять почту
> для всех несуществующих пользователей (*@site.ru) и для начала записать ее в
> файл.

Начать с чтения офф документации

http://www.postfix.org/postconf.5.html#luser_relay

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как заставить postfix принимать почту и класть ее в файл?"  –2 +/
Сообщение от Деми Мур on 30-Июн-15, 00:00 
Ну так я не сразу ломанулся вопросы задавать, хотелось бы получить конкретный совет
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Как заставить postfix принимать почту и класть ее в файл?"  –1 +/
Сообщение от Деми Мур on 30-Июн-15, 00:25 
Посмотрел в логи нашел там

NOQUEUE: reject: RCPT from forward20.mail.yandex.net[95.108.253.145]: 454 4.7.1 ........
disconnect from forward20.mail.yandex.net[95.108.253.145]
connect from forward20.mail.yandex.net[95.108.253.145]

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от Etch on 30-Июн-15, 02:41 
> NOQUEUE: reject: RCPT from forward20.mail.yandex.net[95.108.253.145]: 454 4.7.1 ........

Вам надо сделать следующее: ........

Затем перазапустить postfix и всё сразу заработает!

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от eRIC (ok) on 30-Июн-15, 11:55 
> Поставил postfix. Наладил отправку.

как наладили Отправку, так и Прием наладите. Откуда нам знать какой у вас бекэнд пользователей и доменов, а может быть просто через php mail() наладили отправку и сидите радостный с улыбкой до ушей. Правильно вас в официальные документы послали, чтобы вы сами понимали как все это работает и как нужно делать

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Как заставить postfix принимать почту и класть ее в файл?"  +1 +/
Сообщение от ALex_hha (ok) on 30-Июн-15, 13:11 
Для начала можно ознакомиться с http://sys-adm.org.ua/mail/mail-architech


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от Деми Мур on 30-Июн-15, 15:53 
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.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от Дядя_Федор on 30-Июн-15, 16:08 
> Ну так я не сразу ломанулся вопросы задавать

Судя по вопросам - сразу.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

9. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от Деми Мур on 30-Июн-15, 16:15 
# 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

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от Деми Мур on 30-Июн-15, 17:09 
В файле virtual_maps

@site.ru /home/login/mail

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от fail on 30-Июн-15, 20:17 
> 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 на соответствующий порт(ы)

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

12. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от Деми Мур on 01-Июл-15, 01:52 
В общем сделал так

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)

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от PavelR (??) on 01-Июл-15, 09:40 
> 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)

Вы в каком городе? Я поищу для вас магазин, где можно купить англо-русский словарик.


Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от fail on 01-Июл-15, 10:05 
...
> В /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 утсановки почтовика.
Удачи в настройке.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

15. "Как заставить postfix принимать почту и класть ее в файл?"  –1 +/
Сообщение от Деми Мур on 01-Июл-15, 13:43 
Все это здорово, но во первых чтобы записать в формате 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 его не запускает. А надо как-то его запустить

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "Как заставить postfix принимать почту и класть ее в файл?"  +1 +/
Сообщение от eRIC (ok) on 01-Июл-15, 14:40 
> @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

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

17. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от Деми Мур on 01-Июл-15, 14:50 
Ну так а как вызвать то, как в том топике тут уже не выходит
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от fail on 01-Июл-15, 15:06 
> Все это здорово, но во первых чтобы записать в формате 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 и прочего ... в чем проблемы-то ?


Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

19. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от fail on 01-Июл-15, 15:08 
> Ну так а как вызвать то, как в том топике тут уже
> не выходит

3нaния подтягивать !

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

20. "Как заставить postfix принимать почту и класть ее в файл?"  –1 +/
Сообщение от Деми Мур on 01-Июл-15, 15:11 
> Тогда углублено изучаем доки к postfix`y (в тех же поиcковиках) на предмет
> LDA и прочего ... в чем проблемы-то ?

Я тоже не понимаю, зачем этот форум вообще сделали, когда есть гугл

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

21. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от eRIC (ok) on 01-Июл-15, 16:23 
> Ну так а как вызвать то, как в том топике тут уже
> не выходит

Деми Мур ты уже начинаешь мне нравится %)

я даже могу предположить следующую проблему после того как 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 в нужную группу

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

22. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от Деми Мур on 01-Июл-15, 23:02 
/etc/postfix/vmailbox:
@site.ru "| /tmp/myscript.php"

работать не будет. Да и насколько я понимаю virtual_mailbox... исключительно на запись работает.

пользователя для определил в virtual_alias_maps, и уже в /etc/aliases направил на конкретный скрипт. Соответственно и скрипт у меня будет работать с правами нужного мне пользователя

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

23. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от Дядя_Федор on 01-Июл-15, 23:47 
> Я тоже не понимаю, зачем этот форум вообще сделали, когда есть гугл

Естественно, чтобы задавать элементарные вопросы, тупить и наступать на те грабли, которых бы не возникло, если бы было освоена документация и руководство по Постфиксу.


Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

24. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от eRIC (ok) on 02-Июл-15, 06:05 
> /etc/postfix/vmailbox:
> @site.ru "| /tmp/myscript.php"
> работать не будет. Да и насколько я понимаю virtual_mailbox... исключительно на запись
> работает.

я просто взял ваш кусок кода, который вы пытались выполнить и показал

> пользователя для определил в virtual_alias_maps, и уже в /etc/aliases направил на конкретный
> скрипт. Соответственно и скрипт у меня будет работать с правами нужного
> мне пользователя

ну флаг вам в зубы и вперед!


Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

25. "Как заставить postfix принимать почту и класть ее в файл?"  +1 +/
Сообщение от ALex_hha (ok) on 02-Июл-15, 15:23 
> Ну и тестируем-отправляем (в чем проблемы - то),
> приблизительный порядок комманд, без helo/ehlo:

для тестирования давно придумали удобную утилиту - swaks (прощай telnet/openssl) ;)


Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

26. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от Аноним (??) on 02-Июл-15, 17:08 
>> Тогда углублено изучаем доки к postfix`y
> Я тоже не понимаю, зачем этот форум вообще сделали, когда есть гугл

О! Могу избавить вас от этой омерзительной необходимости - читать и понимать доки. И даже не очень дорого! :)


PS: А тыт как думал? :)

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

27. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от Аноним (??) on 02-Июл-15, 17:15 
> Соответственно и скрипт у меня будет работать с правами нужного мне пользователя

Обожаю глупых блондинок! :)

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

28. "Как заставить postfix принимать почту и класть ее в файл?"  –1 +/
Сообщение от Деми Мур on 02-Июл-15, 18:12 
> Обожаю глупых блондинок! :)

Ну зачем же о себе так


Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

29. "Как заставить postfix принимать почту и класть ее в файл?"  +/
Сообщение от Деми Мур on 02-Июл-15, 20:35 
Подскажите. А postfix c mysql только на вывод работает? На запись не работает?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру