| |
unknown mailer error 1
"?
NOQUEUE: Null connection
from ...
"?
Если это возможно, то нет.
Уайлдкард MX записей имеет много семантического "мусора". Например, она будет соответствовать хосту "unknown.your.domain" - если Вы явно не проверяете ваш домен на неизвестные хосты, Вы получите "MX list for hostname points back to hostname"( MX список для пунктов имени хоста обратно к имени хоста" ) или "config error: mail loops back to myself" ("ошибка конфигурации: почта возвращена к началу цикла ко мне же непосредственно").
См. RFCS 1535, 1536, и 1912 (обновленный RFC 1537)для большего количества деталей и других связанный (или общих) проблем. См. также _DNS и BIND_ Albitz и Liu.
Они могут также заставлять вашу систему прибавлять ваш домен к исходящему FQDN в отчаянной попытке послать почту туда, куда она якобы адресована, но потому что *.your.domain допустим из-за уайлдкарты MX, доставка к not.real.domain.your.domain будет формировать дамп на Вас же, и Вы можете даже оказаться в цикле, поскольку домен продолжает становиться прикрепляемым все последующее время раз за разом (проблема "config error: mail loops back to myself").
Уайлдкард MX записей - только плохая идея, это очевидно и просто. Они не работают так, как вы ожидаете, и фактически никто не получает их права. Избегайте их любой ценой.
Это - проблема локального мэйлера, а не проблема sendmail. В зависимости от того, что вы делаете, смотрите на procmail (см. Q4.9), ftpmail, или Majordomo.
Самая последняя версия Majordomo может быть найдена в ftp://ftp.greatcircle.com/pub/majordomo/. Она написана на Perl и требует или Perl 4.036, или, кажется, выполняется с небольшими отклонениями только под версией 5.001a или более поздней. Для уверенности, проверьте веб-интерфейс для Majordomo называемый LWGATE в http://www.netspace.org/users/dwb/lwgate.html. Самые последние версии Perl (и 4.x и 5.x) могут быть найдены в http://www.metronet.com/perlinfo/src/. Подробная информация относительно Perl может быть найдена в http://www.metronet.com/perlinfo/perl5.html
Самая последняя версия ftpmail может быть найдена в ftp://src.doc.ic.ac.uk/packages/ftpmail или любом архиве comp.sources.misc (том 37).
Опять же, это - локальная проблема мэйлера, а не проблема sendmail. Или модифицируйте ваш мэйлер (потребуется исходный текст) или измените программу, названную "локальным" мэйлером в описании конфигурации, на новую программу, которая способна выполнять такую локальную доставку. Одна программа, которая способна выполнять это - procmail (см. Q4.9), хотя, вероятно, имеется также много других программ.
Или, я пробую использовать флаг "не передают дорогому мэйлеру" , и это доставляет почту в интерактивном режиме так или иначе. Я могу видеть, что это делается, поскольку имеется вывод " sendmail -v foo@somehost " (или Mail -v или эквивалент).
Флаг -v в sendmail (который связан с флагом -v в Mail и других программах этого семейства) указывает sendmail наблюдать транзакцию. Так как Вы явно захотели видеть то, что происходит, предполагается, что Вы не хотите использовать очередь, и поэтому эта особенность выключается. Удалите флаг -v и используйте вместо этого команду "tail -f" вашего лога (выводит последние 10 строк файла - прим.перев.) , чтобы видеть то, что происходит.
Если Вы пытаетесь использовать флаг "не передавать дорогому мэйлеру " (флаг мэйлера "e"), убедитесь, что Вы также включаете глобальную опцию "HoldExpensive" (чьё старое односимвольное название было "C") - иначе флаг мэйлера будет игнорироваться .
Я получаю такие сообщения об ошибках:
553 MX list for domain.net points back to relay.domain.net
554 <user@domain.net>... Local configuration error
Как я могу решить эту проблему?
Вы попросили почту в домен (например, domain.net)
принимать вначале на определенный хост (в этом случае relay.domain.net) используя
MX запись, но машина релея не признает себя как domain.net.
Добавьте domain.net в файл /etc/mail/local-host-names
[известный как /etc/sendmail.cw
до версии 8.10] (если Вы используете
FEATURE(`use_cw_file')
) или добавьте " Cw domain.net
"
в ваш конфигурационный файл.
Имеется пара дополнительных случаев, где Вы фактически не можете хотеть локальной доставки, и таким образом добавление domain.net к классу w не будет правильным решением:
kill -HUP `head -1 /var/run/sendmail.pid`
Я соединяюсь с сетью с помощью SLIP/PPP соединения. Иногда мой процесс sendmail зависает (хотя видно что часть сообщения была передана). Все остальное работает. Что является неправильным?
Наиболее вероятно, это проблема вообще не sendmail , а низкогоуровневого сетевого соединения. Важно чтобы MTU (Maximum Transfer Unit) для SLIP/PPP соединения был установлен должным образом с обеих сторон. Если же они не соответствуют, большие пакеты будут застревать, и подключение зависнет.
Этот вопрос обсужден на страницах 445-449 of _sendmail, 2nd Ed_ (см. страницу 319 первого издания) Брайеном Косталесом (см. вступление sendmail-faq // book/ISBN/1-56592-222-0 в Q6.1).
Чтобы посмотреть, что еще является доступным на сегодня, проверьте Comprehensive Perl Archive Network. Для получения дополнительной информации, см. the comp.lang.perl.* FAQs at ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/comp/lang/perl/
Если вы заинтересованы в использовании этих видов приложений, помогающих Вам осуществлять некоторый оперативный контроль вашей системы, Вы можете заинтересоваться MEWS (Mail Early Warning System). Из README:
If you've ever written a perl script to parse sendmail log files looking for errors, MEWS might be of interest to you. If you've ever thought about writing a perl script to munge sendmail log files, cringed a little and hurriedly came up with an excuse not to do it, read on. If you don't have a Solaris 2.5 machine, you can probably stop reading here. The Mail Early Warning System (MEWS) gives postmasters immediate notification of trouble spots on your mail backbone. It only works with sendmail. To explain it in a nutshell, whenever sendmail returns a 4xx or 5xx SMTP code, with the MEWS modifications, it also sends the code over UDP to a daemon which then replays the error message to interested parties. The man pages go into a little bit more detail.
(все классно, только надо Solaris - прим.перев.)Если это как-то звучит, Вы можете быть заинтересованы в получении большего количества подробностей, Вы можете найти архив MEWS в ftp://ftp.qualcomm.com/pub/people/eamonn/mews.tar.Z.
Имеется обновление от Stephane Lentz 29 июня, 2000:
См. также страницу sendmail tools Джона Оливера для указания на несколько связанных скриптов(25 мая, 2001)
Ссылки Брэда Ноулеса для popstats, smtpstats and syslog_stats были восстановлены в новом месте. (29 мая, 2001)
Рекомендуемая программа для этого - "checksendmail" от Роба Колстада. Старые версии ее доступны на различных архивных узлах, но в настоящее время единственный способ получить самую современную версию (которая была модифицирована, чтобы понимать длинный синтаксис названий опций версии 8.7 , а также теперь поддерживает и Perl 4.x и Perl 5.x) - от самого Роба.
Самый последний архив будет сделан общедоступным (наиболее вероятно через SMTPRD, выполненный Andras Salamon; см. Q6.5, entry sendmail-faq // online/index/14) сразу как только будет получен.
Программа "procmail" - замена для локального мэйлера (с различными именами: /bin/mail, /usr/bin/mail, mail.local, rmail, и т.д ...). Она была перенесена практически на каждую Unix-подобную OS, с которой вы можете столкнуться, и имеет целый набор основных особенностей. Обычно, это приблизительно на 30 % более быстрее выполнение работы локального мэйлера в сравнении с программами типа /bin/mail или /usr/bin/mail, она испытавалась на прочность настолько сильно, что это сделало ее чрезвычайно безопасной (намного более безопасной чем большинство локальных мэйлеров) и очень устойчивой. Procmail также способен помочь Вам установить квоту на пользовательский почтовый ящик через стандартый Unix-механизм квоты (см. Q4.3).
Короче говоря, независимо от того, что вы имеете, вам почти гарантируют, что procmail лучше (если нечего добавить, отмечу, что автор был способен сфокусировать большое количество времени и энергии в создание этой самой лучшей и самой быстрой доступной утилиты, в то время как большинство системных продавцов только выбрасывает кое-что так быстро, как только они могут, а затем переходят к целой паузе OS).
Однако, это только поверхность того, на что способен procmail .Наиболее важная особенность этого то, что фактически это дает Вам, стандартный способ создания правил (procmail называет их "recipes"(рецепты)) чтобы обработать вашу почту прежде чем сообщения помещаются в ваш почтовый ящик, эта особенность - одна из наиболее важных утилит, какие каждый администратор может найти в ее наборе. Фильтруя или автоматически борясь с 80 % вашего ежедневного мусора, она позволяет Вам тратить большее количество времени на более жесткие 20 % случаев.
Объявлено, что в последние выпуски версии 8 sendmail встроена поддержка использования procmail как альтернативного локального мэйлера (см. "FEATURE(local_procmail" для версии 8.7 и выше). Они также поддерживают procmail как дополнительный локальный мэйлер, если вы заинтересованы в полной замене вашего текущего локального мэйлера на procmail (см. "MAILER(procmail)" в версии 8.7 и выше).
Вы можете также установить procmail как пользователь и выполнять его из вашего .forward файла, хотя подобное имеет тенденцию быть немного медленным и менее эффективным.
Подробная информация относительно procmail может быть найдена в http://www.procmail.org/ и самая последняя версия может быть найдена в ftp://ftp.procmail.org/pub/procmail/.
Procmail - также ядро в пакете управлений списком рассылки, называемом "SmartList", так что, если вы уже получили procmail, добавление SmartList может быть хорошей опцией. Некоторые владельцы рассылок предпочитают Majordomo, Listserv, или одну из других такого рода программ, но SmartList также имеет более чем несколько сторонников. Ваши персональные вкусы диктуют, присягаете ли Вы SmartList или нет.
Я обновил sendmail, полученную от моего продавца к самой последней версии, и теперь я получаю эти сообщения об ошибках, когда выполняю "newaliases":
/etc/aliases: line 13: MAILER-DAEMON... cannot alias non-local names
/etc/aliases: line 14: postmaster... cannot alias non-local names
Как мне решить эту проблему?
Ваше локальный мэйлер не имеет специального флага "A". Редактируйте строчку Mlocal в файле sendmail.cf и добавьте "A" к флгам, перечисленным после " F = ".
Еще лучше, если вы используете последнюю версию sendmail, которая использует m4 для генерации .cf файла из .mc файла, сгенерируйте ваш sendmail.cf, и посмотрите, фиксирует ли это проблему. Не забудьте установить новый sendmail.cf и перезапустить демона sendmail.
Пожалуйста, посмотрите страницу Year 2000 Readiness Disclosure.
Сначала, Вы должны заставить sendmail не использовать DNS на вашей локальной машине таким образом, чтобы ваш хост не пытался соединиться с вашим провайдером для DNS запросов. См. Q3.22 для получения дополнительной информации.
Вы также должны определить "smart host" или внешний релей, чтобы обрабатывать всю почту, которую Вы не можете доставить локально (это и будет почтовый сервер вашего провайдера).
Вы должны сконфигурировать это так, чтобы smtp
мэйлер рассмотривался как "expensive",
добавив F=e флаг мэйлера
и сообщив sendmail не соединяться с
expensive мэйлерами по умолчанию, устанавливая опцию
HoldExpensive
в True
.
Вы должны добавить mydomain.com
к sendmail.cw
файлу, или
в строчку Cw в файл sendmail.cf
. См. Q4.5.
Наконец, Вы должны запускать программу периодически, чтобы отдать ваш пакет вашему провайдеру и доставить любую почту, которая, возможно, уже стоит у провайдера в очереди для Вас. См. Q3.23.
unknown mailer error 1
"?
Вообще говоря, sendmail не выполняет
конечную доставку сообщений, а полагается
вместо этого на локального доставочного
агента . Такой агент как mail.local
поставляется вместе с дистрибутивом sendmail.
Любой такой агент, которого sendmail вызывает для
доставки сообщения, как определено в
строке М
в файле sendmail.cf, должен выйти с кодом 0 (успешно), или
одним из кодов неисправностей, отмеченных в src/sysexits.h
. Они
обычно работают в диапазоне 64 - 78, так что 1
находится вне этого диапазона, что и
приводит к генерации sendmail вышеупомянутой ошибки.
Ситуация: Ваша система mailserver.my.domain
должна действовать как
вспомогательный почтовый сервер для mailserver.destination.domain
. Клиент хочет принять почту
для адреса user@destination.domain
. Для этого требуется:
destination.domain. IN MX 10 mailserver.destination.domain. destination.domain. IN MX 20 mailserver.my.domain. mailserver.destination.domain. IN MX 10 mailserver.destination.domain. mailserver.destination.domain. IN MX 20 mailserver.my.domain.
Последние две записи "на всякий случай" (если
кто-то забыл о маскарадинге).
Удостоверитесь, что Вы используете реальные
имена всех систем, Mailserver.my.domain
должно быть его собственным именем, иначе вы получите известную
ошибку mail
loops back to myself.
Вместо использования MX записей, которые указывают на mailserver.destination.domain
, Вы можете использовать
FEATURE(mailertable)
на mailserver.my.domain
как объяснено в cf/README
для
routing e-mails.
destination.domain
к
required
files (8.9) (или для 8.8).
Не прибавляйте destination.domain
или mailserver.destination.domain
к классу w
на вашей системе!
ETRN
Вы не можете. Sendmail это mail transfer agent (MTA)- почтовый сервер. Создание сообщений электронной почты, включая добавление вложений или сигнатуры, является функцией mail user agent (MUA) - почтового клиента. Некоторые популярные почтовые клиенты: mutt, elm, exmh, Netscape, Eudora и Pine. Некоторые специализированные пакеты (metamail, некоторые модули Perl и т.д.) также могут использоваться, чтобы создавать сообщения с вложениями.
Выяснять, который версия выполняется фактически, сделайте извне telnet на порт SMTP (порт 25). Демон обычно объявляет свое название и номер версии, как в следующем случае:
thishost% telnet that.host 25 Trying IP_addr... Connected to that.host. Escape character is '^]'. 220 that.host ESMTP Sendmail 8.9.3/8.9.3; Mon, 2 Aug 1999 11:39:34 -0700 ^] telnet> quitСделайте второй запрос на вашем локальном хосте, следующая команда должна отобразить ее номер версии, наряду с некоторой дополнительной конфигурационной информацией, возможно включая конфигурационный номер версии:
% echo \$Z | /usr/sbin/sendmail -bt -d0
Version 8.10.2
Compiled with: MAP_REGEX LOG MATCHGECOS MIME7TO8 MIME8TO7 NAMED_BIND
NETINET NETUNIX NEWDB NIS QUEUE SCANF SMTP USERDB XDEBUG
============ SYSTEM IDENTITY (after readcf) ============
(short domain name) $w = knecht
(canonical domain name) $j = knecht.Sendmail.ORG
(subdomain name) $m = Sendmail.ORG
(node name) $k = knecht.Sendmail.ORG
========================================================
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 8.10.2
%
Скорректируйте путь как правильно; наиболее обычные расположения -
/usr/lib
и /usr/sbin
.
В действительности Вы не должны этого делать, потому что символы верхнего регистра в именах пользователей противоречат традиции Unix . Если Вы это сделаете, то адреса электронной почты будут зависимы от регистра, так что почта к <USER@your.host> будет сброшена вместо того чтобы быть доставленой к <user@your.host>. Поскольку это противоречит ожиданиям многих, это не рекомендуется.
Но если Вы все равно настаиваете на выполнении этого, и Вы имеете версию 8.10, поместите следующее в ваш .mc file:
MODIFY_MAILER_FLAGS(`LOCAL', `+u')dnlЕсли Вы не имеете версии 8.10, Вы будете должны переопределить переменную m4
LOCAL_MAILER_FLAGS
, но её первоначальное значение изменяется от OS до OS, так что это
еще одна причина не портить этот флаг.
Другая уловка - создание алиасов для локальных пользователей с символами верхнего регистра в именах в форме:
# lowercase version to real one
uppercase: UppercaseЭто будет заставлять sendmail доставлять сообщения локальным пользователям с символами верхнего регистра в именах в случае нечувствительности sendmail к регистру.
NOQUEUE: Null connection
from ...
"?Сообщение подобно:
NOQUEUE: Null connection from host.domain [IP.AD.DD.RESS]В logfile означает, что
host.domain
соединился с вашим MTA, но ни
инициализировал передачу сообщения (издавая команду MAIL), ни
использовал любую из команд, которые зарегистрированы отдельно (EXPN/VRFY/ETRN)
. Если это не случается очень часто, Вы можете
проигнорировать это. Если же это случается очень часто, это является или
чьей-то игрой, или это - сетевая проблема.Примечание1: существенная
часть сообщения не NOQUEUE
, а "Null
connection from ...
". В частности NOQUEUE
не
ошибка индикации,а только "метка - заполнитель" когда
идентификатор очереди не был назначен, обычно, потому что
передача совокупности сообщений не началась (все же). Это может
случаться также и в других сообщениях, и там
также существенная часть та, которая
поступает после NOQUEUE
.
Примечание
2: В 8.10, текст, который вводил в замешательство был
заменен на: "... did not issue MAIL/EXPN/VRFY/ETRN during
connection to ...
"
Вы не нужно делать это. Sendmail - почтовый сервер, чья главная цель состоит в том, чтобы посылать и принимать электронную почту (прежде всего через SMTP). Sendmail не выполняет никаких протоколов удаленного доступа типа POP или IMAP. Но если Вы хотите узнать больше относительно этих и других (не - sendmail) вещей, связанных с электронной почтой, пожалуйста обратитесь к нашей странице Other (Non-Sendmail) E-Mail Related Links.
Это требует заказного программирования. Вы могли или записывать фильтр почты, используя новый (в настоящее время не поддержанный) Milter API в sendmail 8.10 и позже (см. libmilter/README) или же Вы можете посмотреть на некоторые другие неподдерживаемые подсказки:
Не имеется никакого волшебного короткой команды для этого. Но это нетрудно установить: создайте пункт в файле алиасов
alluser: :include:/etc/mail/allusersНе забудьте выполнить ' newaliases'. Затем перечислите ваших пользователей, по одному в строке, в файле. Вы можете сделать это с помощью:
awk -F: '$3 > 100 { print $1 }' /etc/passwd > /etc/mail/allusers
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |