Де зберігаються електронні листи sendmail?


10

Я намагаюся створити сценарій автовідповіді для sendmail (ні, я ще не хочу використовувати попередньо вбудований), але я не можу знайти місцезнаходження отриманих електронних листів на своєму сервері. Я маю вказати, що моя конфігурація не є типовою.

Я заглянув /root, там немає папки пошти. (У мене немає іншого користувача, крім root). Я заглянув /var/mail/root, є лише деякі журнали, які надсилаються мені поштою, але не зовнішня пошта, яку я отримую від користувачів.

Я перевірив /var/log/maillog, але помилок немає.

Мені немає ідеї, де шукати. Хтось міг мені допомогти?

Відповіді:


6

sendmail (агент поштового транспорту - MTA) зберігає пошту в тому місці, де вона налаштована для зберігання пошти. Але MTA зберігає лише пошту, яка наразі знаходиться в черзі - доставку пошти до місця, де користувач може отримати доступ, обробляє агент доставки пошти (MDA). Хоча sendmail (та інші MTA) можуть виступати як MDA, це дуже незвично.

Незважаючи на те, намагання отримати доступ до поштових файлів - це не правильний спосіб реалізувати автовідповідач.

Це слід робити як фільтр у MTA (тобто дози) або в MDA. Milter API розроблений спеціально для цього - і , можливо , вже наявних інструментів , які відповідали б ваші вимоги без будь - яких змін.

Якщо ваш теперішній MDA запрограмований, то вам пощастило - це забезпечує величезну кількість гнучкості (справді це сама мова програмування) для обробки поштових повідомлень. Знову в Інтернеті є багато коду, який може відповідати вашим потребам (AFAIK немає центрального сховища рецептів проспектів - але спробуйте Google.

Навіть основний механізм .forward може бути використаний для цього - але я б радив проти цього - знижуючи маршрут прокрутки, ви можете роздрібнити повідомлення, щоб доставка не залежала від / не реалізована вашим сценарієм.


У мене встановлено procmail (procmail-3.22-17.1.el5.centos.x86_64), але я не впевнений, що він використовується. Я також читав про сценарій автоматичної відповіді, який використовує прокмейл, який може бути корисним для мене. Чи можу я побачити, чи використовується протокол Promail?
Едуард Лука

1
Чи можете ви розмістити вміст вашого sendmail.cfфайлу в рядку, що починається Mlocal, який розповість, який MDA використовується.
MadHatter

Так, це прокмайли. Яай! P=/usr/bin/procmail- код. Дякую :)
Едуард Лука

Але я не маю жодної procmailrcсправи. Змушує мене замислитися, чи дійсно використовується моя sendmail + procmail.
Едуард Лука

Якщо його налаштовано в sendmail, і ваша пошта буде доставлена, тоді вона використовується procmail (зі складеним за замовчуванням). Див. Головну сторінку для procmail - зазвичай вона перевіряє / etc / procmailrc та ~ / .procmailrc, а якщо жодного не знайдено, то вона доставляє пошту відповідно до конфігурації під час компіляції.
symcbean

6

Якщо у вас інші конфігуровані каталоги за замовчуванням, вам слід переглянути свій /etc/mail/sendmail.cf, щоб побачити, яким чином встановлені шляхи.

Це не лише відрізняється між розподілом ОС між ОС, але навіть каталоги за замовчуванням між різними версіями sendmail змінилися. Коротше кажучи, для того, щоб ми повідомили вам про за замовчуванням, нам потрібно знати версію ОС та версію sendmail. Значеннями за замовчуванням є / var / spool / mail / $ USERNAME для падіння пошти, тоді, якщо користувач читає пошту за допомогою іншої програми, її зазвичай переміщують у $ HOME / mbox.

Ось список поширених поштових каталогів:

  • / var / mail / $ USERNAME
  • / var / spool / mail / $ USERNAME
  • $ ГОЛОВНА / mbox
  • $ ГОЛОВНА / пошта
  • $ ГОЛОВНА / Maildir

Дякую, але під яким ім'ям змінної я повинен шукати його у конфігураційному файлі? Я щось прочитав, $MAIL = але не можу знайти його у конфігураційному файлі. Я перевірив / var / spool / mail / root, там є деякі листи, але не правильні (і я впевнений, що їх не прочитали, оскільки я надіслав електронний лист і швидко перевірив файл - не було).
Едуард Лука

3

Це залежить від того, як він налаштований, але звичайне місце є /var/spool/mail, або деякі дистрибутиви /var/mail. Якщо це не в жодному з цих місць, повідомте нас, і ми почнемо копати !


Є кілька листів, /var/spool/mail/rootале лише локальні листи (надсилаються від кореня до кореня).
Едуард Лука

Що ще є /var/spool/mail?
MadHatter

Файл з ім’ям, rpcякий абсолютно порожній.
Едуард Лука
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.