Как заставить postfix принимать почту и класть ее в файл?

12
M
На сайте с 28.05.2015
Offline
4
1358

Поставил postfix. Наладил отправку. А как мне теперь принять почту? И как вообще проверить, в чем загвоздка. Как итог мне нужно принять почту для всех несуществующих пользователей (*@site.ru) и для начала записать ее в файл.

---------- Добавлено 30.06.2015 в 00:24 ----------

Посмотрел в логи нашел там

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]

M
На сайте с 28.05.2015
Offline
4
#1

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.

baas
На сайте с 17.09.2012
Offline
171
#2

Для начало, показывай конфиг. postfix,

после посмотри открыт ли у тебя порт 25.

Настройка BSD систем. (https://www.fryaha.ru) Знание сила, незнание Рабочая сила!
M
На сайте с 28.05.2015
Offline
4
#3

# 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

SB
На сайте с 27.10.2014
Offline
12
#4

Смею предположить что проблема кроется в mydestination. Попробуйте изменить его. И не видно строки mydomain

baas
На сайте с 17.09.2012
Offline
171
#5

Я думаю нужно нормально настроить постфикс, сейчас практически стандартные настройки используются.

В интернете посмотрите, полно статеек как настроить почту на прием.

Еще убедись, что у нужного домена, есть нужная mx запись в записях днс у домена.

M
На сайте с 28.05.2015
Offline
4
#6

В файле virtual_maps

@site.ru /home/login/mail

---------- Добавлено 30.06.2015 в 17:14 ----------

Как Вы предлагаете изменит mydestination

Попробовал добавить

mydomain = site.ru

Логи пустые, но ожидаемой почты я так и не получил.

Инструкции в интернете я уже второй день изучаю, но нужного решения не нашел. Особенно неудобно, что они все обычно сразу в связке с другими программами описаны.

SB
На сайте с 27.10.2014
Offline
12
#7

Сложно говорить когда в конфиге не Ваши домены. Я проверил днс записи для домена keymachine.de там всё норм.

Давайте поступим так, мы с Вами в скайпе спишемся и подробно всё обсудим, ОК?

Скайп свой отправьте мне в ЛС

M
На сайте с 28.05.2015
Offline
4
#8

В общем сделал так

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)

baas
На сайте с 17.09.2012
Offline
171
#9
mmotor:

@site.ru "|php5-cgi -c /path/to/php.ini /site.ru/public_html/mail.php"

Что вы этим пытаетесь сделать, что должно в этоги получится?

M
На сайте с 28.05.2015
Offline
4
#10

В итоге php скрипт должен обработать сообщение

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий