В Linux нет хорошего интегрированного программного обеспечения. Вам нужно использовать 2 части программного обеспечения.
В FTP-клиенте укажите имя пользователя и пароль, а также загрузите файлы. Откройте их с помощью текстового редактора. Работать. Сохраните их, а затем загрузите заново, убедившись, что выбрали замену.
У вас может быть несколько вариантов, но они не универсальны.
Если журналы почтового сервера доступны для чтения во всем мире, их можно проверить на наличие сообщений об ошибках. Если ваш почтовый сервер exim
, найдите /var/log/exim/
или просто /var/log/mail
. То, что именно регистрируется где именно в конечном итоге отдельная банка червей, где отправной точкой является конфигурация syslog
, но это не единственная игра в городе; но если в вашей системе имеется /etc/syslog.conf
, то это, вероятно, так (особенно если вы находитесь на устаревшей платформе, такой как CentOS).
(Если журналы не читаются во всем мире, возможно, вы можете убедить системного администратора изменить это и/или добавить вас в группу, которая имеет доступ для чтения; или, по крайней мере, grep для сообщений об ошибках, связанных с вашей .forward
проблемой вокруг конкретного пункта в последнее время.)
Во-вторых, вы получаете сообщение об отскоке? Обычно, когда почтовый сервер не может доставить ваше сообщение, он отправляет обратно сообщение об ошибке (DSN, «bounce», «boomerang») с более или менее подробной диагностикой.
Если вам повезло, вы можете пройти диагностику без отправки электронной почты, подключившись к почтовому серверу и поговорив с ним. Предполагается, что SMTP-сервер работает на порте 25 localhost
, например,
bash@centos$ telnet localhost 25
>>> Connecting to localhost ...
>>> 220 Exim is listening, congratulations.
<<< vrfy you@example.com
>>> 454 4.7.1 you@example.com relay access denied
<<< quit
>>> 221 So long, sayonara, au revoir.
, где < < <
указывает на вводимые данные, а > > >
- ответы от удаленной системы. Это конкретное сообщение об ошибке является маловероятным результатом, но, по крайней мере, иллюстрирует то, что вы можете ожидать увидеть и что нужно понять (в основном, 2xx - это нормально, а 4xx или 5xx - это ошибка, как в HTTP).
Все подсчитанное, Procmail имеет довольно ограниченное количество режимов отказа. Я бы заподозрил разрешения на ваш файл .procmailrc
как первое, что нужно исследовать.
Бесстыдная вилка: См. также http://porkmail.org/era/mail/procmail-debug.html
-121--92380- Можно использовать perl
(получить содержимое файла и заменить образцы
на образцы
+ содержимое файла
):
perl -pe '$text=`cat insert.txt`; chomp($text); s/PAT/$&$text/' file.txt
добавить -i
для редактирования на месте; g
для добавления после каждого события PAT (образца), например:
perl -i -pe '$text=`cat insert.txt`; chomp($text); s/PAT/$&$text/g' file.txt
Другой способ, используя ed
:
printf '%s\n' /PAT/s/PAT/\&\\ \/ - kb ". r insert.txt" j \'b j ,p q | ed -s file.txt
для редактирования по месту замените , p
на w
:
printf '%s\n' /PAT/s/PAT/\&\\ \/ - kb ". r insert.txt" j \'b j w q | ed -s file.txt
Вероятно, никого не интересует, как это работает, но в любом случае printf
передает список команд в ed
:
/PAT/s/PAT/&\ # set address to first line matching PAT and
/ # split the line right after PAT
- # set address one line before (return to the line matching PAT)
kb # mark the current line
. r insert.txt # insert content of insert.txt after this line
j # join current line and the next
'b # set address to marked line (return to the line matching PAT)
j # join current line and the next one
,p # print file content
q # quit editor
Или, не используя printf
и |
:
ed -s file.txt <<< $'/PAT/s/PAT/&\\\n/\n-\nkb\n. r insert.txt\nj\n\'b\nj\nw\nq\n'
-121--25573- Хорошо, @ jordanm дал мне правильное направление, но информация разбросана по Сети, поэтому я думаю, что стоит выложить какой-то путеводитель сам.
Установка пакетов mailutils
и heirloom-mailx
:
sudo apt-get install mailutils heirloom-mailx
Обновление альтернативных вариантов для mailx
- выберите /usr/bin/heirloom-mailx
:
sudo update-alternatives --config mailx
Последняя часть: обновление файлов 3 в /etc/pam.d/
. В каждом из трех следующих файлов имеется последовательность, начинающийся с session optional pam_mail.so
, обновите его следующими значениями:
/etc/pam.d/login :
session optional pam_mail.so dir = ~/Maildir standard
/etc/pam.d/su :
сеанс необязателен pam_mail.so dir = ~/Maildir nopen
/etc/pam.d/sshd :
сеанс необязателен pam_mail.so dir = ~/стандарт Maildir
Источники: Спросите Ubuntu и этот блог .