PHP PEAR Mail: отказано в доступе к ретрансляции

#php #email #smtp #pear

#php #Адрес электронной почты #smtp #груша #pear

Вопрос:

Я могу отправлять электронные письма самому себе и другим людям на моем почтовом сервере, используя PEAR Mail. Но когда я пытаюсь отправить на другой сервер, я получаю сообщение об ошибке:

Доступ к ретрансляции запрещен.

Я проверил настройки SMTP, и они точно такие же, как в моем почтовом клиенте.

Что бы это могло быть?

Комментарии:

1. Вот что вы только что спросили: «Что-то не работает с электронной почтой, что не так?» — Пожалуйста, ПОЖАЛУЙСТА, попробуйте и дайте нам больше информации. У вас есть код? Это запущено на том же компьютере? Какие тесты вы провели?

Ответ №1:

Доступ к ретрансляции запрещен.

«Ретранслятор» — это почтовый сервер, который действует как открытый шлюз, позволяя любому подключаться к нему и отправлять почту через него… кому угодно. Если цель не является локальной, ретранслятор приложит все усилия, чтобы передать ее дальше.

Очевидно, что это чрезвычайно плохая идея.

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

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

Комментарии:

1. Это было бы «открытым ретранслятором». С сервером ретрансляции все в порядке. Они используются повсеместно. Проблемой были открытые ретрансляторы, которые пересылали бы из любого места в любое место.

2. @Marc, преувеличение для эффекта, в отношении аутентификации.

Ответ №2:

Проходит ли ваш почтовый клиент аутентификацию на вашем SMTP-сервере? Большинство серверов позволяют авторизованным пользователям ретранслировать почту через них. Таким образом, вы можете быть (скажем) продавцом в каком-нибудь гостиничном номере и все равно отправлять почту стороннему пользователю через свой корпоративный почтовый сервер.

Убедитесь, что ваш почтовый вызов PHP использует надлежащие учетные данные SMTP (что означает имя пользователя / пароль, а не только адрес сервера). Поскольку ваш почтовый клиент может ретранслировать, а ваш скрипт — нет, скорее всего, скрипт не выполняет аутентификацию.