How to redirect local root mail to an external email address on Linux

How to redirect local root mail to an external email address on Linux Техника

I run a home file, media and backup server at home on Ubuntu Server 12.04 LTS. I have various cron jobs set-up for various task such as backing up external MySQL databases, web site data and other tasks.

However sometimes you want to know if particular tasks have run successfully and to only have to check a single (external) mail account is much more reasonable, so I’m going to show you how to create a mail alias so emails get sent directly to your external email account.

First of all you need to make sure that you have a mail server installed on your server, I have a default install of Postfix installed, I’ve not done any special configuration to it at all, it will simple be used to end emails externally. – My home server is not set-up to receive any external emails etc.

Now run this command:-

Now restart Postfix:-

service postfix restart

Hope this will help some people looking to do the same 🙂

sudo chown postfix /etc/postfix

Thank you for reading this post, don’t forget to subscribe!

How to redirect local root mail to an external email address on Linux

При помо­щи RouneCube и ManageSiev

Пред­по­ла­га­ет­ся, что поч­та уже рабо­та­ет, уста­нов­лен Dovecot, Roundcube и , в моем слу­чае Postfix (но это пофик).
Пере­со­брать Dovecot с под­держ­кой ManageSiev:

Вклю­чить про­то­кол managesieve и задать допол­ни­тель­ные настрой­ки в /usr/local/etc/dovecot.conf

Вклю­чить в Roundcube пла­гин managesieve (по идее он уже дол­жен быть в ката­ло­ге roundcube/plugin). Заме­ниа в фай­ле /usr/local/www/roundcube/config/main.inc.php сле­ду­ю­щий параметр:

Теперь в меню настройки/фильтры в Roundcube мож­но настра­и­вать филь­тра­цию писем.

How to redirect local root mail to an external email address on Linux

Сред­ства­ми само­го Postfix’а

В файл main.cf доба­вить строку:

В фай­ле postfix/recipient_bcc ука­зы­ва­ем с како­го на какой ящик пере­на­прав­ля­ем почту:

После чего при­ме­нить изме­не­ния командой:

Как вывод мож­но ска­зать что про­ще и быст­рее будет делать сред­ства­ми само­го Postfix‘а, но пра­виль­нее и удоб­нее для поль­зо­ва­те­ля — при помо­щи RouneCube и ManageSiev.

Как мне вырезать все вложения при отправке писем во внешний мир?

Реа­ли­зо­вать дан­ную зада­чу мож­но с помо­щью про­грам­мы altermime.

В дан­ном при­ме­ре исполь­зо­ва­лась сле­ду­ю­щая вер­сия altermime

Для нача­ла пишем неболь­шой скрипт.

Сохра­ня­ем его напри­мер под таким име­нем /etc/postfix/filter/remove_attachments.sh

И выстав­ля­ем пра­ва на запуск

Теперь нам необ­хо­ди­мо опи­сать сам транс­порт для филь­тра­ции в фай­ле /etc/postfix/master.cf

Теперь опи­сы­ва­ем поли­ти­ки филь­тра­ции в фай­ле /etc/postfix/main.cf

Созда­ем соот­вет­ству­ю­щие кар­ты просмотра

Отправ­ля­ем внут­ри доме­на пись­мо с вложением

Теперь попро­бу­ем отпра­вить пись­мо с вло­же­ни­ем в мир

Как вид­но из log-фай­ла пись­мо было пере­да­но филь­тру altermime, кото­рый уда­лил вло­же­ния и далее отправ­ле­но адресату

Как избавиться от сообщений вида — warning

Как пра­ви­ло сооб­ще­ние появ­ля­ет­ся если вы явно не зада­ли зна­че­ние пара­мет­ра alias_maps и у вас на сер­ве­ре не настро­е­на  (Network Information Service)

Как вид­но из выво­да зна­че­ние по умол­ча­нию содер­жит ссыл­ку на кар­ту типа nis. Что­бы решить дан­ную про­бле­му доста­точ­но ука­зать сле­ду­ю­щее значение

И дать коман­ду postfix пере­чи­тать кон­фи­гу­ра­ци­он­ный файл

Как мне отвер­гать соеди­не­ния, в кото­рых пред­став­ля­ют­ся име­нем мое­го сервера?

Для это­го необ­хо­ди­мо сде­лать соот­вет­ству­ю­щую про­вер­ку в smtpd_helo_restrictions

В дан­ный спи­сок вно­сим имя наше­го сервера

Созда­ем кар­ту hello_access.db и даем коман­ду postfix пере­чи­тать кон­фи­гу­ра­ци­он­ный файл

А теперь тести­ру­ем наше ограничение

Как мне сде­лать кво­ти­ро­ва­ние поч­то­вых ящиков?

Вооб­ще то это не функ­ция , по это­му по умол­ча­нию postfix не под­дер­жи­ва­ет дан­ный функ­ци­о­нал. Если вам необ­хо­ди­мы кво­ты, то вы може­те исполь­зо­вать vda (virtual delivery agent) с пат­чем. Либо исполь­зо­вать аль­тер­на­тив­ные аген­ты достав­ки, напри­мер maildrop/dovecot delivery agent

Что такое клас­сы адре­сов в postfix и для чего они нужны?

Клас­сы адре­сов это спо­соб груп­пи­ров­ки адре­сов полу­ча­те­лей по спо­со­бу достав­ки их писем. Все­го суще­ству­ет 5 встро­ен­ных клас­сов адресов:

Каж­дый из пред­опре­де­лен­ных клас­сов адре­сов опре­де­ля­ет сле­ду­ю­щие три вещи:

У меня в систе­ме 3 ящи­ка, поль­зо­ва­те­ли систем­ные. Как мне при­ни­мать почту толь­ко для этих ящиков?

Для реше­ния дан­ной зада­чи доста­точ­но пре­чис­лить необ­хо­ди­мых поль­зо­ва­те­лей в фай­ле и ука­зать ссыл­ку на него в пара­мет­ре local_recipient_maps

Теперь отпра­вим пись­мо систем­но­му поль­зо­ва­те­лю alexander, но кото­рый не ука­зан в /etc/postfix/local_mailbox

Как мы видим postfix еще на эта­пе  сес­сии сооб­щил о том, что тако­го поль­зо­ва­те­ля нет.

Как бороть­ся с ошиб­кой warning: do not list domain domain.ua in mydestination and virtual_mailbox_domains?

Итак у нас postfix со сле­ду­ю­щей конфигурацией

Настрой­ки мини­маль­ные, толь­ко что­бы опи­сать суть про­бле­мы. Как вид­но из выво­да наш домен — vmware.local ука­зан в $mydestination с помо­щью пара­мет­ра $mydomain, а так­же он ука­зан в $virtual_mailbox_domains. Т.е. мы ука­за­ли один и тот же домен сра­зу в двух клас­сах адре­сов — локаль­ных и вир­ту­аль­ных. Чего не сто­ит нико­гда делать.

Дополнительно:  Touch Bar не работает на MacBook Pro [Решение]

Теперь смот­рим log-файл

Как видим мы полу­чи­ли соот­вет­ству­ю­щее пре­ду­пре­жде­ние о том, что наш домен ука­зан сра­зу в двух клас­сах адре­сов. И как вид­но из сооб­ще­ний почту была достав­ле­на локаль­но­му поль­зо­ва­те­лю alex, а не как мы хоте­ли виртуальному.

Самое про­сто реше­ние дан­ной про­бле­мы — это иско­лю­чить домен vmware.local из $mydestination

Еще раз отправ­ля­ем сооб­ще­ние и смот­рим log-файл

Как вид­но из сооб­ще­ния пись­мо достав­ле­но вир­ту­аль­но­му поль­зо­ва­те­лю alex, о чем сви­де­тель­ству­ет стро­ка relay=virtual, а так­же фор­мат ящи­ка — delivered to maildir

Нек­то­рые полез­ные команды

Вывод зна­че­ния по умол­ча­нию опре­де­лен­но­го параметра

Вывод теку­ще­го зна­че­ния параметра

Вывод вер­сии postfix

Про­смотр теку­щей оче­ре­ди сообщений

Уда­ле­ние всех писем из очереди

Повтор­ная отправ­ка сооб­ще­ний, кото­рые нахо­дят­ся в очереди

Как мне реа­ли­зо­вать «умный» грейлистинг?

Под сло­вом «умный» я под­ра­зу­ме­ваю изби­ра­тель­ный метод по опре­де­лен­ным кри­те­ри­ям. Напри­мер, даль­ше в при­ме­ре, мы будем «награж­дать» грей­ли­стин­гом хосты у кото­рых отсут­ству­ет запись в обрат­ной зоне или они исполь­зу­ют т.н. лите­раль­ную фор­му, т.е. в helo под­став­ля­ют ip адрес заклю­чен­ный в квад­рат­ные скобки.

В дан­ном при­ме­ре в каче­стве грей­ли­стин­га я исполь­зо­вал — gld, кото­рый слу­ша­ет вхо­дя­щие соеди­не­ния на пор­ту 2525. Вы може­те исполь­зо­вать любой грей­ли­стинг на ваш выбор.

В дан­ном фай­ле мы опи­сы­ва­ем отпра­ви­те­лей, кото­рых мы хотим исклю­чить из грейлистинга

В дан­ном фай­ле мы опи­сы­ва­ем хосты, кото­рые мы хотим исклю­чить из грейлистинга

В дан­ном фай­ле мы опи­сы­ва­ем соб­ствен­но саму поли­ти­ку — при отсут­ствии запи­си в обрат­ной зоне, кли­ент будет награж­ден грей­ли­стин­гом. greylisting — это поль­зо­ват­леь­ский класс, кото­рый опре­де­ля­ет­ся в фай­ле main.cf.

В дан­ном фай­ле мы опи­сы­ва­ем поли­ти­ку — при исполь­зо­ва­нии лите­раль­ной фор­мы, кли­ент будет награж­ден грейлистингом.

Как мне откло­нять соеди­не­ния от кли­ен­тов, когда mx отпра­ви­те­ля резолвит­ся в адрес из част­ной сети?

Тогда при попыт­ке отпра­вить отпра­вить вам пись­мо в лог-фай­ле будет следующее

А теперь давай­те посмот­рим что же не понра­ви­лось postfix в этом клиенте

Теперь думаю все ста­ло понят­но, вряд­ли сто­ит при­ни­мать почту от кли­ен­тов у кото­рых запись ука­зы­ва­ет на 127.0.0.1

Как мне запре­тить при­ем почты от опре­де­лен­но­го домена/пользователя?

Как мне запре­тить при­ем писем с опре­де­лен­ны­ми вложениями?

Тогда при попыт­ке отпра­вить пись­мо с вло­же­ни­ем exe/bat/cmd/mp3 в лог-фай­ле будет следующее

Как избе­жать дуб­ли­ро­ва­ния писем при исполь­зо­ва­нии алиасов?

Напри­мер у нас есть сле­ду­ю­щий алиас

Как мне полу­чать всю почту для не суще­ству­ю­щих ящиков?

Для это­го доста­точ­но задать сле­ду­ю­щие пара­мет­ры в main.cf

При такой настрой­ке вся поч­та для не суще­ству­ю­щих поль­зо­ва­те­лей будет пере­на­прав­лять­ся поль­зо­ва­те­лю info

Осо­бен­но­сти рабо­ты дан­ной функции:

Что­бы узнать зна­че­ние по умол­ча­нию, необ­хо­ди­мо выпол­нить сле­ду­ю­щую команду

Как заста­вить postfix уве­дом­лять отпра­ви­те­ля о том, что пись­мо не достав­ле­но полу­ча­те­лю и нахо­дит­ся в очереди?

Для вклю­че­ния дан­ной воз­мож­но­сти необ­хо­ди­мо задать пара­метр delay_warning_time

При такой настрой­ке, уве­дом­ле­ние будет отправ­лять­ся через 3 часа

У меня в систе­ме несколь­ко интер­фей­сов, как мне ука­зать postfix слу­шать толь­ко определенные?

Суще­ству­ет два спо­со­ба реше­ния этой зада­чи: вне­се­ния изме­не­ний в main.cf или master.cf

Как ука­зать postfix слу­шать порт отлич­ный от 25го?

Для это­го доста­точ­но заме­нить стро­ку в master.cf

И пере­за­пу­стить postfix. После это­го мож­но про­ве­рить изменения

Как узнать под­дер­жи­ва­ет ли postfix аутен­ти­фи­ка­цию, и если под­дер­жи­ва­ет, то какие методы?

Стро­ка   гово­рит о том, что дан­ный сер­вер под­дер­жи­ва­ет два мето­да аутен­ти­фи­ка­ции — и .

Так­же из дан­но­го выво­да мы можем полу­чить сле­ду­ю­щую инте­рес­ную информацию:

Для это­го доста­точ­но выпол­нить сле­ду­ю­щую команду

Как вид­но из выво­да дан­ная сбор­ка postfix не под­дер­жи­ва­ет MySQL. Так же мож­но про­ве­рить с каки­ми внеш­ни­ми биб­лио­те­ка­ми собран сам postfix

У меня на сер­ве­ре 2 интер­фей­са и нуж­но, что­бы при соеди­не­нии на 1й интер­фейс выда­вал­ся один банер, а при соеди­не­нии на 2й интер­фейс вто­рой. Как это мож­но реализовать?

Где xxx.xxx.xxx.xxx и yyy.yyy.yyy.yyy ip адрес пер­во­го и вто­ро­го интер­фей­са соот­вест­вен­но. Пере­мен­ные banner_if1 и banner_if2 мы опре­де­ля­ли в фай­ле main.cf спе­ци­аль­но, так как в фай­ле master.cf не допус­ка­ют­ся про­бе­лы в зна­че­ни­ях параметров

Как мне сохра­нить копии всех исхо­дя­щих писем?

Как мне сохра­нить копии всех вхо­дя­щих писем?

Как мне сохра­нить копии всех писем?

Дополнительно:  Компьютер с Windows 7, 10 не видит мышь – 13 решений проблемы

Необ­хо­ди­мо орга­ни­зо­вать доступ сле­ду­ю­щим образом:
с одно­го ip адре­са, мож­но отправ­лять сооб­ще­ние толь­ко одно­му поч­то­во­му ящи­ку (связь один к одному)
созда­ём сле­ду­ю­щие файлы:

total 44
-rw-r—r— 1 root root 18 Jan 25 13:53 access_ip
-rw-r—r— 1 root root 18 Jan 25 14:21 access_ip2
-rw-r—r— 1 root root 47 Jan 25 14:35 mail_list

со сле­ду­ю­щим содержимым:

как толь­ко фай­лы созда­ны выпол­ня­ем сле­ду­ю­щую команду:
postmap /etc/postfix/access_mail/access_ip
postmap /etc/postfix/access_mail/access_ip2
postmap /etc/postfix/access_mail/mail_list

при любом добав­ле­нии инфор­ма­ции в дан­ные фай­лы, необ­хо­ди­мо повто­рять дан­ную команду.

далее необ­хо­ди­мо вне­сти кор­рек­ти­ров­ки в кон­фи­гу­ра­ци­он­ный файл:
/etc/postfix/main.cf
добав­ля­ем сле­ду­ю­щую запись:

smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/access_mail/mail_list, reject
smtpd_restriction_classes = class_domain1,class_domain2
class_domain1 = check_client_access hash:/etc/postfix/access_mail/access_ip, reject
class_domain2 = check_client_access hash:/etc/postfix/access_mail/access_ip2, reject

после чего пере­за­пус­ка­ем postfix

systemctl restart postfix

Про­ве­рить рабо­ту мож­но сле­ду­ю­щим образом:
yum –y install mailx

здесь 10.10.10.50  наше­го релея

—————————————————————————————
Допол­ни­тель­ная информация
В демоне smtpd есть 4 ограничения(restrictions) для почты

Огра­ни­че­ние Когда про­ве­ря­ет­ся Что проверяется

Про­вер­ка про­ис­хо­дит в ука­зан­ном поряд­ке. Если какое-либо из огра­ни­че­ний даёт нега­тив­ный ответ — даль­ней­шая про­вер­ка пре­кра­ща­ет­ся и кли­ент посы­ла­ет­ся куда подаль­ше. И есть одна дирек­ти­ва, кото­рая управ­ля­ет вре­ме­нем вычис­ле­ния зна­че­ний и при­ме­не­ния огра­ни­че­ний. Это smtpd_delay_reject. Если она рав­на yes, Postfix дождёт­ся момен­та, когда будет доступ­на пол­ная инфор­ма­ция о клиенте(ip и helo) и письме(от кого и кому), и толь­ко после это­го всту­пят в дей­ствие огра­ни­че­ния. Ина­че огра­ни­че­ния вычис­ля­ют­ся и

при­ме­ня­ют­ся соот­вет­ствен­но таб­ли­це. По умол­ча­нию дирек­ти­ва вклю­че­на. Как пишут в мане, это есть хоро­шо — в логе вид­но, кому и чья поч­та «не дошла». Так­же это даёт опре­де­лён­ные плю­сы — воз­мож­ность опе­ри­ро­вать все­ми вели­чи­на­ми во всех ограничениях.

Если необ­хо­ди­мо что­бы с раз­ных ip адре­сов поч­то­вый ящик мог отправ­лять сооб­ще­ния, то при­во­дим кон­фи­ги к сле­ду­ю­ще­му виду:

cat /etc/postfix/access_mail/access_ip4
10.10.10.1
10.10.10.2

и выпол­ня­ем:
postmap /etc/postfix/access_mail/access_ip4
postmap /etc/postfix/access_mail/mail_list

=================================================================================
Если необ­хо­ди­мо про­из­ве­сти настрой­ку мно­гие ко мно­гим, т.е. име­ет­ся спи­сок поч­то­вых ящи­ков и спи­сок ip адре­сов, и с каж­до­го из этих сер­ве­ров мож­но отправ­лять сооб­ще­ния с поч­то­вых ящи­ков ука­зан­ных в списке.

в main.cnf добавляем
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/access_mail/mail_list,check_sender_access hash:/etc/postfix/access_mail/ip_list,reject

cat /etc/postfix/access_mail/ip_list
10.10.10.1
10.10.10.2

после чего выполняем
postmap /etc/postfix/access_mail/mail_list
postmap /etc/postfix/access_mail/ip_list

и пере­за­пус­ка­ем postfix
systemctl restart postfix

Ограничить доступ на релее — запрет на отправку с определённых email

Име­ет­ся кор­по­ра­тив­ный релей, через кото­рый идёт отправ­ка сооб­ще­ний со всех ip адре­сов добав­лен­ных в пере­мен­ную mynetworks (айпиш­ни­ки или подсети)

Далее посту­пи­ла зада­ча огра­ни­чить отправ­ку с опре­де­лён­ных поч­то­вых ящи­ков (они нуж­ны были для внут­рен­ней рас­сыл­ки и мы так обез­опа­си­ли себя если они лома­нуть­ся на внешку)
Мы созда­ли файл:

/etc/postfix/sender_access
Со сле­ду­ю­щим содержимым:

Созда­ва­ли далее хэш
postmap /etc/postfix/sender_access

( smtpd_sender_restrictions отве­ча­ет за — огра­ни­че­ния будут при­ме­нять­ся во вре­мя выпол­не­ния кли­ент­ской коман­ды  )

Наша кон­фи­гу­ра­ция име­ет сле­ду­ю­щий вид:

smtpd_client_restrictions = permit_mynetworks
smtpd_restriction_classes = has_our_domain_as_sender
has_our_domain_as_sender = check_sender_access hash:/etc/postfix/has_our_domain_as_sender reject
smtpd_sender_restrictions =
check_sender_access hash:/etc/postfix/sender_access,
permit_mynetworks,
reject_unauth_destination,
reject_invalid_hostname,
reject_unknown_helo_hostname,
reject_non_fqdn_hostname,
reject

smtpd_recipient_restrictions =
reject_non_fqdn_sender,
permit_mynetworks,
check_client_access hash:/etc/postfix/company_networks,
reject_unauth_destination,
reject

Рас­смот­рим подробнее:
smtpd_client_restrictions — настрой­ки огра­ни­че­ния кли­ент­ских соеди­не­ний. В дан­ном при­ме­ре раз­ре­шить толь­ко авто­ри­зо­ван­ных permit_mynetworks, кото­рый соот­вет­ству­ет mynetworks со спис­ком ip адре­сов и подсетей

smtpd_restriction_classes — тут опи­сы­ва­ем класс с име­нем has_our_domain_as_sender. Содер­жи­мое кото­ро­го соот­вет­ству­ет нашим доме­нам от кото­рых про­ис­хо­дит отправка.

cat /etc/postfix/has_our_domain_as_sender
test.kg
test.local
test.info

cat /etc/postfix/company_networks
10.230 has_our_domain_as_sender
10.244 has_our_domain_as_sender
127.0.0 has_our_domain_as_sender

———— ———————— ———————- —————————-

Теперь поступила задача ограничивать =email

smtpd_client_restrictions = permit_mynetworks
smtpd_restriction_classes = has_our_domain_as_sender,class_domain1,class_domain2
has_our_domain_as_sender = check_sender_access hash:/etc/postfix/has_our_domain_as_sender reject
class_domain1 = check_sender_access hash:/etc/postfix/access_mail/access_mail1, reject
class_domain2 = check_sender_access hash:/etc/postfix/access_mail/access_mail2, reject

smtpd_sender_restrictions =
warn_if_reject
check_client_access hash:/etc/postfix/sender_access,
check_sender_access hash:/etc/postfix/sender_access,
permit_mynetworks,
reject_unauth_destination,
reject_invalid_hostname,
reject_unknown_helo_hostname,
reject_non_fqdn_hostname,
reject

smtpd_relay_restrictions = check_client_access hash:/etc/postfix/sender_access, permit_mynetworks, permit_sasl_authenticated, defer_unauth_destination

Рас­смот­рим что тут творится:
smtpd_client_restrictions — настрой­ки огра­ни­че­ния кли­ент­ских соеди­не­ний. В дан­ном при­ме­ре раз­ре­шить толь­ко тех что добав­ле­ны в mynetworks
smtpd_restriction_classes — тут опи­сы­ва­ем наши клас­сы: has_our_domain_as_sender,class_domain1,class_domain2

smtpd_recipient_restrictions кон­тро­ли­ру­ет ответ Postfix на ста­дии SMTP-коман­ды . Здесь мы раз­ре­ша­ем толь­ко соеди­не­ния от узлов, пере­чис­лен­ных в mynetworks но мы ещё добавляем
check_client_access hash:/etc/postfix/company_networks в кото­ром наши ip адре­са не ука­зан­ные в mynetworks .

cat /etc/postfix/company_networks
10.230 has_our_domain_as_sender
10.244 has_our_domain_as_sender
127.0.0 has_our_domain_as_sender
10.71.200.29 has_our_domain_as_sender
10.71.200.28 has_our_domain_as_sender
10.71.200.40 has_our_domain_as_sender

smtpd_relay_restrictions — огра­ни­че­ния пере­сыл­ки почты в кон­тек­сте кли­ент­ской коман­ды  .
Тут мы проверяем
check_client_access hash:/etc/postfix/sender_access

Что­бы настро­ить огра­ни­че­ние ip=mail дела­ем сле­ду­ю­щие шаги:

cat /etc/postfix/sender_access
10.71.200.40 class_domain2

cat /etc/postfix/company_networks
10.71.200.40 has_our_domain_as_sender

cat /etc/postfix/main.cf
smtpd_restriction_classes = has_our_domain_as_sender,class_domain1,class_domain2
class_domain2 = check_sender_access hash:/etc/postfix/access_mail/access_mail2, reject

postfix check — и если всё ок то можно
systemctl restart postfix

Дополнительно:  Как включить камеру на ноутбуке samsung

Задался вопросом а как отслеживать события на подконтрольных серверах, вроде отвалившегося раздела из RAID-массива. По умолчанию система отправляет системные сообщения на почту root, т.е. в файл /var/mail/root. Нам же нужно, чтобы почту уходила не внешний ящик, информацию на котором мы сразу увидим.
Решить вопрос можно двумя (как минимум) путями:

Postfix

Задача разбивается на 2 части:

Первое уже решено ранее, нужно разобраться со 2-й задачкой. Поискал инфу, попробовал, получил резальтат, решил в вики оформить, благо писать не много.

Вот и все, почта для root будет падать на наш внешний почтовый ящик. Проверил на ВМ, имитацией отказа одного из разделов в RAID1.

Ssmtp

Также, вместо postfix, можно воспользоваться утилитой ssmtp.

Установка

sudo apt-get install ssmtp

Настройка

Редактируем файл /etc/ssmtp/ssmtp.conf

Настраиваем отправителей писем:

Редактируем файл /etc/ssmtp/revaliases

Проверим настройки, отправив тестовое письмо

Теперь вы можете отправлять почту из консоли и скриптов.
Однако, таким способом системная почта для root и пользователей отправляться не будет.
Чтобы заставить ssmtp работать и с системной почтой, выполним следующие действия:

sudo rm /usr/sbin/sendmail

sudo nano /usr/sbin/sendmail

Даём права на исполнение

sudo chmod +x /usr/sbin/sendmail

Обратите внимание, теперь почта будет отправляться только на адрес, который указали в /usr/sbin/sendmail,
независимо от того, какие электронные адреса указаны в консоли и скриптах.

How to redirect local root mail to an external email address on Linux

Тема: Postfix пересылка всей входящей почты на другой ящик  (Прочитано 19851 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Доброго времени. Имею настроенный postfix для рассылки. Есть необходимость пересылать всю входящую почту на ящик на другом почтовом сервере.

Гугл предложил несколько вариантов, я подытожил и получил вот такой

В файл main.cf recipient_bcc_maps = hash:/etc/postfix/recipient_bcc

В файл recipient_bcc

поле чего  postmap /etc/postfix/recipient_bcc postfix reload

Уточните пожалуйста правильность решения. Так как сервер боевой, а я не совсем уверен в правильности решения, не очень хочу экспериментировать.

Это не пересылка. Так Вы сделаете копирование всех входящих писем на заданный адрес. Если нужна именно пересылка, то настройте транспорт.

Собственно, мне и копирование подойдет. Лишь бы работало. Правильно все написано?

p.s. Поделитесь ссылкой про настройку транспорта для настройки пересылки

Вроде правильно, только звездочку уберите. А с транспортом все просто — в файл transport_maps пишете правило типа

Про транспорты не понял 🙂 у меня никакие не используются. А по поводу копирования, без звездочки так?

Да. Про транспорт — как и любая другая карта, транспорт может быть реализован по-разному. Например, так же, как у Вас карта recipient_bcc.

Это письмо отправлено почтовым сервером yandex.ru.

К сожалению, мы вынуждены сообщить Вам о том, что Ваше письмо не можетбыть отправлено одному или нескольким адресатам. Причины указаны ниже.

Пожалуйста, не отвечайте на это сообщение.

This is the mail system at host yandex.ru.

I’m sorry to have to inform you that your message could notbe delivered to one or more recipients. It’s attached below.

Please, do not reply to this message.

Подскажите пожалуйста как сделать пересылку всей входящей почты на ящик на яндексе

Покажите, что у Вас в строке mynetworks в main.cf?

mynetworks_style = subnetmynetworks = 127.0.0.0/8, 94.19.*.*/32, 5.61.*.*/32, 89.31.*.*/32

А при этом IP Вашего сервера — 88.198.18.245 (судя по приведенному выше ответу от Яндекса)? Вставьте этот адрес в mynetworks.

If you specify the mynetworks list by hand, Postfix ignores the mynetworks_style setting.

« Последнее редактирование: 27 Ноября 2013, 10:58:21 от Karl500 »

Гхм. Дурацкий вопрос можно? А Вы перезапускаете postfix после изменений в конфигурации?

Покажите под спойлер Ваш main.cf целиком.

« Последнее редактирование: 28 Ноября 2013, 09:44:28 от Karl500 »

Karl500, лучше смотреть postconf, он заодно должен проверять синтаксис.

ArcFi,Можно и postconf -n , да.

mail_owner = postfixmyhostname = mx.moidomen.rumydomain = moidomen.rumyorigin = $myhostname

inet_interfaces = allinet_protocols = ipv4mydestination = localhost.$mydomain, localhost, $myhostnameunknown_local_recipient_reject_code = 550mynetworks_style = subnetmynetworks = 127.0.0.0/8, 94.19.*.*/32, 5.61.*.*/32, 89.31.*.*/32, 88.198.18.245/32alias_maps = hash:/etc/aliasesalias_database = hash:/etc/aliasesdebug_peer_level = 2html_directory = nosmtpd_recipient_restrictions = permit_mynetworks,                        reject_unauth_destination

smtpd_sender_restrictions = permit_mynetworks,                        reject_non_fqdn_sender                        reject_unknown_sender_domain

recipient_bcc_maps = hash:/etc/postfix/recipient_bccqueue_run_delay = 300maximal_queue_lifetime = 1dbounce_queue_lifetime = 3h

smtpd_client_event_limit_exceptions = $mynetworkssmtpd_client_connection_count_limit = 100relay_destination_concurrency_limit = 50smtpd_authorized_verp_clients = $mynetworks

milter_default_action = acceptmilter_protocol = 2smtpd_milters = inet:localhost:26000non_smtpd_milters = inet:localhost:26000

Оцените статью
Master Hi-technology
Добавить комментарий