Почему почтовый агент не работает на компьютере

Обновлено: 21.11.2024

В этом блоге рассказывается об устранении неполадок Database Mail, и он больше ориентирован на проблемы, связанные с настройкой, а не на установки, которые работали какое-то время и внезапно прекратились. В ближайшие недели от House of Brick появятся еще две записи в блоге, посвященные более сложному устранению неполадок с Database Mail, но этот блог начинается с введения в устранение неполадок с Database Mail.

Если у вас много экземпляров SQL Server, возможно, у вас уже есть сценарий для настройки Database Mail, а если вы используете сценарий, у вас, вероятно, не будет слишком много проблем с настройкой. Однако, если вы новичок или у вас всего несколько серверов, возможно, вы настраиваете их вручную. В конце этого блога есть сценарий, который мы используем для установки анонимного доступа по умолчанию для Database Mail.

Включен ли он?

Сначала убедитесь, что Database Mail включен. Найдите в «sys.configurations» параметр Database Mail XP, и если он установлен на 0, Database Mail не включен.

В столбце значений указано «0», поэтому Database Mail отключена. Чтобы включить его, вы можете запустить простой скрипт, чтобы изменить значение на «1», как показано ниже.

Альтернативный способ включения Database Mail находится в разделе Управление => Database Mail => Настройка Database Mail. Выберите любой из параметров конфигурации, и вы увидите сообщение о том, что Database Mail недоступно, и вопрос о том, хотите ли вы включить его (как показано на рисунке ниже).

Далее, наиболее распространенная ошибка, с которой мы сталкиваемся, заключается в том, что Database Mail по какой-то причине остановилась. Чтобы запустить Database Mail, запустите следующий скрипт.

Если есть ошибки конфигурации, скрипт покажет вам ошибку, которая укажет вам направление проблемы.

Теперь проверьте журнал. Database Mail предоставляет достойную систему ведения журналов, но есть вещи, в которых она не очень хороша, и они будут обсуждаться более подробно в следующих постах, описывающих ее более продвинутые функции. Однако большинство основных элементов регистрируются правильно, как показано ниже.

Профиль и учетные записи
Затем проверьте правильность настройки профиля и пользователей. Поскольку я никогда не видел неправильной настройки профиля, я не буду рассказывать об этом в этом блоге.

С другой стороны, я постоянно вижу проблемы с аккаунтами. Помимо очевидных опечаток в адресе электронной почты или полях SMTP-сервера, большинство проблем связано с аутентификацией. По умолчанию Database Mail предполагает, что вы отправляете электронные письма на SMTP-сервер, который принимает анонимные сообщения. Внутри сети организации это было очень распространенной практикой, но сегодня становится все меньше и меньше. В некоторых организациях больше нет локальных серверов электронной почты, а ретранслятор SMTP находится где-то в облаке и поэтому требует аутентификации или внесения в белый список.

Аутентификация
Чтобы получить информацию об аутентификации, обратитесь к администратору электронной почты, который сможет объяснить, как настроить SMTP. Если вы используете почтовый сервер и можете подключиться с учетными данными AD, то Database Mail будет подключаться к учетной записи службы SQL Server, когда вы выбираете «Аутентификация Windows». На снимке экрана ниже вы можете увидеть, какая информация необходима для подключения почтовой службы, такой как Gmail. Обратите внимание, что при использовании номера порта и Gmail требуется безопасное соединение. Хотя ярлык SSL не является точным, поскольку Gmail требует подключения TLS, концепция аналогична, и все понимают SSL.

Белый список
Многие ИТ-устройства могут отправлять электронные письма SMTP, когда что-то идет не так, но некоторые из них можно использовать только для анонимных сообщений. Организациям необходимо защитить свои почтовые серверы, поэтому они используют процесс, называемый «белым списком». По сути, это сетевое правило или правило на сервере электронной почты, которое разрешает анонимные SMTP-подключения только с определенных адресов или имен хостов. Ваши администраторы электронной почты узнают, относится ли это к вашей организации, поэтому вам, скорее всего, потребуется открыть с ними тикет, чтобы добавить ваши SQL-серверы в белый список. Если все ваши серверы находятся в выделенной подсети сети, вы можете получить список всей подсети, но ожидайте, что вам придется добавлять каждый сервер по отдельности. Если это так в вашей организации, вам нужно добавить этап белого списка в свой контрольный список сборки, иначе вы можете забыть об этом в самый неподходящий момент.

Чтобы убедиться, что все работает правильно и не блокируется, простой тест Telnet может подтвердить, может ли ваш SQL Server подключиться к SMTP-серверу.

Эта команда должна подключиться к почтовому серверу. Если время ожидания истекло или он не отвечает, что-то блокирует ваш доступ к серверу электронной почты, и никакие действия внутри SQL Server не решат проблему. Вам нужно будет работать с вашей сетью и администраторами электронной почты, чтобы решить эту проблему.

Если он подключится, введите следующую команду:

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

Агент SQL включен

Если Database Mail работает, но ваши задания агента SQL не уведомляют вас по электронной почте, первое, что вам нужно сделать, это убедиться, что у агента SQL включен почтовый профиль. Если вы недавно удалили профиль и если он использовался агентом SQL, задания агента SQL перестанут отправлять электронные письма.

Чтобы подтвердить, достаточно установить флажок «Включить почтовый профиль» и выбрать действительный почтовый профиль.



Тестирование почты базы данных

Убедитесь, что вы тестируете Database Mail с помощью обоих параметров «Отправлено тестовое электронное письмо» в конфигурации Database Mail, а также отправляете его через агент SQL Server из результата задания. Сценарий Database Mail в конце этого поста создает тестовое задание именно для этой цели.

Миграция почты базы данных

Еще одна распространенная проблема — перенос рабочей конфигурации Database Mail со старого сервера на новый. Хорошая новость заключается в том, что кто-то уже написал об этом сообщение в блоге, и вы можете прочитать его здесь.

Сценарий настройки почты базы данных

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

Устранение неполадок Database Mail включает проверку следующих основных областей системы Database Mail. Эти процедуры представлены в логическом порядке, но могут оцениваться в любом порядке.

Разрешения

Вы должны быть членом фиксированной серверной роли sysadmin, чтобы устранять неполадки во всех аспектах Database Mail. Пользователи, не являющиеся членами фиксированной серверной роли sysadmin, могут получать информацию только об электронных письмах, которые они пытаются отправить, а не об электронных письмах, отправленных другими пользователями.

Включена ли почта базы данных

В SQL Server Management Studio подключитесь к экземпляру SQL Server с помощью окна редактора запросов, а затем выполните следующий код:

На панели результатов убедитесь, что для параметра run_value для Database Mail XP установлено значение 1. Если значение run_value не равно 1, компонент Database Mail не включен. Database Mail не включается автоматически, чтобы уменьшить количество функций, доступных для атаки злоумышленником. Дополнительные сведения см. в разделе Общие сведения о конфигурации контактной зоны.

Если вы решите включить Database Mail, выполните следующий код:

Чтобы вернуть процедуру sp_configure в состояние по умолчанию, в котором не отображаются дополнительные параметры, выполните следующий код:

Правильно ли настроены пользователи для отправки почты

Чтобы отправлять почту базы данных, пользователи должны быть членами роли базы данных DatabaseMailUserRole в базе данных msdb. Члены фиксированной серверной роли sysadmin и роли msdbdb_owner автоматически становятся членами роли DatabaseMailUserRole. Чтобы получить список всех остальных членов роли DatabaseMailUserRole, выполните следующую инструкцию:

Чтобы добавить пользователей в роль DatabaseMailUserRole, используйте следующую инструкцию:

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

Используйте мастер настройки Database Mail для создания профилей и предоставления пользователям доступа к профилям.

Запущена ли почта базы данных

Внешняя программа Database Mail активируется при наличии сообщений электронной почты, которые необходимо обработать. Если в течение заданного периода времени не было сообщений для отправки, программа завершает работу. Чтобы подтвердить запуск активации Database Mail, выполните следующую инструкцию:

Если активация Database Mail не запущена, выполните следующую инструкцию, чтобы запустить ее:

Если запущена внешняя программа Database Mail, проверьте состояние почтовой очереди с помощью следующего оператора:

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

Затем запустите очередь, используя следующую инструкцию:

Используйте столбец длины в наборе результатов sysmail_help_queue_sp, чтобы определить количество сообщений электронной почты в очереди почты.

Влияют ли проблемы на некоторые или все аккаунты

Если вы определили, что некоторые, но не все профили могут отправлять почту, у вас могут возникнуть проблемы с учетными записями Database Mail, используемыми проблемными профилями. Чтобы определить, какие учетные записи успешно отправляют почту, выполните следующую инструкцию:

Если нерабочий профиль не использует ни одну из перечисленных учетных записей, возможно, все учетные записи, доступные для профиля, не работают должным образом. Чтобы протестировать отдельные учетные записи, используйте мастер настройки почты базы данных, чтобы создать новый профиль с одной учетной записью, а затем используйте диалоговое окно «Отправить тестовое сообщение электронной почты» для отправки почты с использованием новой учетной записи.

Чтобы просмотреть сообщения об ошибках, возвращаемые Database Mail, выполните следующую инструкцию:

Database Mail считает почту отправленной, если она успешно доставлена ​​на почтовый сервер SMTP. Последующие ошибки, такие как неверный адрес электронной почты получателя, могут по-прежнему препятствовать доставке почты, но они не будут содержаться в журнале Database Mail.

Повторить попытку доставки почты

Если вы определили, что Database Mail дает сбой из-за невозможности надежного доступа к SMTP-серверу, вы можете увеличить скорость успешной доставки почты, увеличив количество попыток Database Mail отправить каждое сообщение. Запустите мастер настройки почты базы данных и выберите параметр «Просмотреть или изменить системные параметры». В качестве альтернативы вы можете связать с профилем дополнительные учетные записи, чтобы при отработке отказа с основной учетной записи Database Mail использовала учетную запись для отработки отказа для отправки электронных сообщений.

На странице «Настройка системных параметров» значения по умолчанию, равные пяти повторным попыткам учетной записи и 60 секундам для задержки повторной попытки учетной записи, означают, что доставка сообщения завершится ошибкой, если SMTP-сервер не будет доступен в течение 5 минут. Увеличьте эти параметры, чтобы увеличить время до сбоя доставки сообщения.

При отправке большого количества сообщений большие значения по умолчанию могут повысить надежность, но существенно увеличат использование ресурсов, поскольку многие сообщения пытаются доставить снова и снова. Устраните основную проблему, устранив проблему с сетью или SMTP-сервером, из-за которой Database Mail не может быстро связаться с SMTP-сервером.

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

Опубликовано: 29 января 2020 г. | Габби Тейлор

Изображение от Pixabay

Дополнительные ресурсы по Linux

При работе с электронной почтой никогда не знаешь, чего ожидать. Проблемы, с которыми сталкиваются системные администраторы, варьируются от места к месту, от человека к человеку и от сервера к серверу. Однако есть проблемы, которые остаются одинаковыми везде. По моему личному опыту, я видел много проблем с почтой по всем направлениям; от миллионов писем со спамом, заполняющих почтовую очередь и дисковое пространство сервера (и в конечном итоге выводящих из строя сервер), до фишинговых писем со взломанных веб-сайтов с приманками, отправляющими электронные письма другим клиентам в той же сети. В этой статье мы рассмотрим распространенные проблемы с электронной почтой, возникающие в мире системного администрирования.

Задержки электронной почты

Первое, что нужно сделать при устранении задержек с электронной почтой, — это получить информацию, необходимую для устранения неполадок. Наличие информации, необходимой для начала работы, или, по крайней мере, информации для работы, поможет вам принять обоснованное решение. Допустим, есть электронное письмо, которое не было доставлено получателю или возвращено исходному отправителю. Лучшая информация для начала — это полные заголовки электронного письма, которое было отправлено первоначальному отправителю. В зависимости от того, какой почтовый клиент вы используете, вы можете по-разному собирать почтовый идентификатор из заголовка письма, но он всегда доступен, независимо от клиента. Получив почтовый идентификатор, вы можете найти его в почтовых журналах с помощью следующей команды:

Если вы не знакомы с форматированием журналов, вы можете пропустить важную информацию. Чтение выходных журналов, безусловно, может потребовать наметанного глаза и станет легче с опытом. Со временем журналы могут служить не только информацией, но и источником достоверной информации.

Коды ошибок Outlook

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

Недействительный HELO: 0x800CCC78

Outlook почти всегда отправляет недопустимый HELO и, как следствие, должен напрямую выполнять аутентификацию (а не IP-аутентификацию при проверке IMAP/POP), чтобы обойти проверку. В этой ситуации вы получаете код ошибки 0x800CCC78. Если эта ошибка возникает при отправке электронной почты клиентом, это является результатом того, что аутентификация SMTP не настроена или настроена неправильно. Когда пользователь аутентифицирован, большинство проверок SMTP обходится.

Официальное описание от Microsoft гласит:

Примечание. Недопустимое сообщение HELO не относится к Outlook. Только код ошибки.

Не удалось найти хост: 0x800CCC0D

Полная версия этой ошибки выглядит так:

Если вы видите эту ошибку, возможно, возникла проблема с почтовым сервером, к которому пытается подключиться почтовый клиент. Почтовый сервер может распространять свою DNS-запись, писать с ошибками или иметь проблемы с разрешением/сетью. Эта проблема требует исследования почтового сервера в качестве системного администратора. В качестве альтернативы домену почтового сервера вы также можете использовать IP-адрес почтового сервера.

Не удалось подключиться к серверу: 0x800CCC0E

Эта ошибка означает, что возникла проблема с входящим портом: порт 110 должен использоваться для POP3, а порт 143 — для IMAP. Отдельные порты используются для безопасных соединений, требующих SSL. Эта информация более подробно описана в Руководстве системного администратора по настройке почтового сервера.

Произошла неизвестная ошибка: 0x800CCC69

Полная версия этой ошибки выглядит так:

В этой ошибке указано, что агент по передаче почты должен быть аутентифицирован для отправки электронной почты. Это связано с тем, что почтовые клиенты и серверы должны проверять источник и адресатов, чтобы не быть помеченными как потенциальный спам. Для этого сервер или клиент исходящей почты должен включить аутентификацию, которую можно настроить в почтовом клиенте. Конкретные настройки для Outlook можно найти здесь.

Угадайте, какая ошибка: 0x800CCC67

Этот код ошибки сложен, так как может означать несколько разных вещей. Если вы используете порт 25 для SMTP, он может быть заблокирован. Почтовые службы и интернет-провайдеры обычно блокируют их. Проблема также может заключаться в другом брандмауэре, установленном локально на рабочей станции отправителя и блокирующем SMTP-соединения. Или Outlook также может быть неправильно настроен. Чтобы найти виновника, достаточно устранить неполадки.

Ошибки брандмауэра SMTP

В большинстве общих сред порты 25 и 26 заблокированы для пользователей без полномочий root во избежание злоупотреблений. Это включает в себя, помимо прочего, спам-скрипты, отправляющие чрезмерное количество электронной почты с сервера (что приводит к занесению сервера или IP-адреса в черный список) и проблемы с доставкой электронной почты для всех клиентов на машине.

Эту проблему можно решить несколькими способами:

  1. Вместо этого используйте двоичный файл Sendmail или PHPMailer.
    Вместо этого вы можете использовать двоичный файл Sendmail или PHPMailer. В некоторых случаях при использовании этой опции вам потребуется специально установить параметр FROM в конверте SMTP. В противном случае отправителем будет адрес электронной почты сервера по умолчанию, а не правильный.
  2. Используйте IP-адрес домена или сервера в качестве имени хоста и порт 26 в качестве исходящего порта.
    Эта настройка требует проверки подлинности электронной почты для SMTP-сервера и входа в систему с именем пользователя и паролем. Здесь также рекомендуется установить параметр FROM. Заголовок FROM — это то, что обычно видит получатель (если получатель не выбирает просмотр полных заголовков).
  3. Добавить пользователя в белый список в брандмауэре.
    Вы можете внести пользователя или IP-адрес в белый список через брандмауэр. Эта тактика рекомендуется только в качестве последнего средства. После добавления правил рекомендуется перезапустить брандмауэр. Добавление пользователя или IP-адреса через брандмауэр позволит им подключаться к любому хосту через доступные исходящие порты, например 25 и 26.

Нет такого человека по этому адресу

Отклонения с ошибкой "Нет такого лица по этому адресу" или другим настраиваемым сообщением обычно связаны с настроенной пересылкой для отклонения электронной почты. Обычное сообщение об ошибке — «Такого пользователя здесь нет», но некоторые клиенты используют другие сообщения. Вы можете настроить пользовательские сообщения на почтовом сервере и настроить их так, чтобы они лучше всего соответствовали ситуации. Однако по умолчанию, похоже, все работает нормально.

Отклонение SPF

Входящая электронная почта обычно проверяется на действительную запись Sender Policy Framework (SPF), когда для адреса назначения включена проверка подлинности. Нейтральные или неудачные проверки SPF приводят к отказу, который также может иметь настраиваемые сообщения, такие как ошибки «Нет такого человека». Все сообщения об отказе настраиваются. SPF используется для указания почтовым биржам, какие хосты имеют право отправлять почту для домена. Запись легко создать и работает хорошо. Существуют панели управления, которые позволяют создавать такие записи с помощью удобного для пользователя инструмента, или вы можете сделать это с помощью онлайн-инструмента или создать запись по памяти.

Каналы электронной почты/пересылка

Каналы электронной почты должны начинаться с двоичного кода на PHP (например, /usr/local/bin/php ). Этот процесс отправляет сообщение электронной почты в программу и добавляет сообщение в файл почтового ящика с доставкой в ​​режиме реального времени. Как и в случае с возможностью настройки отклонения SPF, у вас есть дополнительные параметры настройки каналов электронной почты и их работы. Эта тактика зависит от того, где находится почтовый сервер.

Заключение

Существует еще очень много проблем с почтовыми рассылками. Невозможно охватить их все. Эта статья предназначена для того, чтобы дать вам представление и пролить свет на мир почтовых проблем, на что обратить внимание и как их решить. Наиболее распространенная проблема среди этих различных проблем заключается в том, что в какой-то момент что-то произойдет, и проверка подлинности всегда является хорошей идеей.

[ Хотите узнать больше о нетворкинге? Ознакомьтесь со шпаргалкой по работе с сетью в Linux. ]

Раздел 404 Закона Сарбейнса-Оксли (SOX) требует, чтобы все публичные компании установили внутренний контроль и процедуры.

Закон о защите конфиденциальности детей в Интернете от 1998 года (COPPA) – это федеральный закон, который налагает особые требования на операторов доменов .

План North American Electric Reliability Corporation по защите критически важной инфраструктуры (NERC CIP) представляет собой набор стандартов.

Стандарт безопасности данных платежных приложений (PA-DSS) – это набор требований, призванных помочь поставщикам программного обеспечения в разработке безопасных .

Взаимная аутентификация, также называемая двусторонней аутентификацией, представляет собой процесс или технологию, в которой оба объекта обмениваются данными .

Экранированная подсеть или брандмауэр с тройным подключением относится к сетевой архитектуре, в которой один брандмауэр используется с тремя сетями .

Медицинская транскрипция (МТ) – это ручная обработка голосовых сообщений, продиктованных врачами и другими медицинскими работниками.

Электронное отделение интенсивной терапии (eICU) — это форма или модель телемедицины, в которой используются самые современные технологии.

Защищенная медицинская информация (PHI), также называемая личной медицинской информацией, представляет собой демографическую информацию, медицинскую .

Снижение рисков – это стратегия подготовки к угрозам, с которыми сталкивается бизнес, и уменьшения их последствий.

Отказоустойчивая технология — это способность компьютерной системы, электронной системы или сети обеспечивать бесперебойное обслуживание.

Синхронная репликация — это процесс копирования данных по сети хранения, локальной или глобальной сети, поэтому .

Коэффициент усиления записи (WAF) – это числовое значение, представляющее объем данных, передаваемых контроллером твердотельного накопителя (SSD) .

API облачного хранилища — это интерфейс прикладного программирования, который соединяет локальное приложение с облачным хранилищем.

Интерфейс управления облачными данными (CDMI) – это международный стандарт, определяющий функциональный интерфейс, используемый приложениями.

Читайте также: