не удалось подключиться к почтовому серверу через порт «localhost» 25 как исправить?
У вас не установлен SMTP шлюз для отправки email. Если xampp используете, нужно найти в php.ini
блок [mail function] и изменить примерно на такое:
SMTP=smtp.gmail.com smtp_port=587 sendmail_from = ВАШАПОЧТА[email protected] sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
И C:\xampp\sendmail\sendmail.ini нужно примерно такие настройки написать:
[sendmail] smtp_server=smtp.gmail.com smtp_port=587 error_logfile=error.log debug_logfile=debug.log auth_username=ВАШАПОЧТА[email protected] auth_password=ПАРОЛЬОТGMAIL force_sender=ВАШАПОЧТА[email protected]
и потом нужно будет перезагрузить xampp.
Еще нет желания заморачиваться с smtp, можно поставить php библиотеку для отправки email, в конфиге вписать данные от gmail.com и отправлять email с локального сайта и с хостинга.
https://github.com/PHPMailer/PHPMailer
Виталий Клемчук
3 years ago
Начало выдавать это, как решить
Обнаружена ошибка PHP
Серьезность: Предупреждение
Сообщение: mail (): SMTP-ответ сервера: 530 5. 7.0 Сначала необходимо выполнить команду STARTTLS. q29sm10359628ljc.8 — gsmtp
Имя файла: библиотеки / Email.php
Номер строки: 1902
Backtrace:
Файл: C: \ xampp1 \ htdocs \ kinomonster \ application \ library \ DX_Auth.php
Строка: 180
Функция: отправить
Файл: C: \ xampp1 \ htdocs \ kinomonster \ application \ library \ DX_Auth.php
Строка: 991
Функция: _email
Файл: C: \ xampp1 \ htdocs \ kinomonster \ application \ controllers \ Auth.php
Строка: 140
Функция: зарегистрировать
Файл: C: \ xampp1 \ htdocs \ kinomonster \ index.php
Строка: 315
Функция: require_once
student_bB50Cz3p
3 years ago
Попробуй раскомментровать(убрать ; ) extension=php_openssl в C:\xampp\php\php.ini
student_cX4p_FA9
3 years ago
Вылезла практически таже ошибка
Обнаружена ошибка PHP
Сообщение: mail (): SMTP-ответ сервера: 530 5.7.0 Сначала необходимо выполнить команду STARTTLS. w22sm10204152ljd.42 — gsmtp
Имя файла: библиотеки / Email.php
Номер строки: 1902
Backtrace:
Файл: C: \ xampp1 \ htdocs \ kinomonster \ application \ library \ DX_Auth.php
Строка: 180
Функция: отправить
Файл: C: \ xampp1 \ htdocs \ kinomonster \ application \ library \ DX_Auth.php
Строка: 991
Функция: _email
Файл: C: \ xampp1 \ htdocs \ kinomonster \ application \ controllers \ Auth.php
Строка: 140
Функция: зарегистрировать
Файл: C: \ xampp1 \ htdocs \ kinomonster \ index.php
Строка: 315
Функция: require_once
student_bB50Cz3p
3 years ago
Такое можно попробовать написать, где задаются настройки подключения к gmail:
ssl://smtp.gmail.com
student_cX4p_FA9
3 years ago
Извини, а можешь сказать где именно ?
student_bB50Cz3p
3 years ago
Кто нибудь ещё может мне помочь?
student_bB50Cz3p
3 years ago
Knowledgebase — The Holodyn Corporation
2 Articles Business ConsultingHelp on Common Topics when growing a Business
15 Articles Microsoft Windows EnvironmentTips for configuring and managing your windows operating system.
2 Articles Search OptimizationTips and Tricks for Managing your SEO and Online Marketing Strategy
34 Articles Software DocumentationSupport Documents for Holodyn Software Products
22 Articles Web Design & DevelopmentThese articles relate to Common Web Site Hosting Issues
Most Popular Articles
Using XCOPY to Synchronize Folders While there are many more advanced tools for synchronizing folders, one very useful method (on. .. Military Alphabet Converter Tool We need to use standards, and learning the NATO Military Alphabet is something that can make… Setting up an SSL Certificate for a Subdomain This article is intended for Web Site Administrators with full control of a dedicated server,… Charging Apple iPhone Without Apple iTunes Installed The Apple iPhone is pretty cool, but with it comes this pain in the neck software called Apple… Copying Files & Preserving the Timestamp To copy a file from one location to another in Linux you would use the following command:> cp.
Loading…
Choose language
العربية
Azerbaijani
Català
中文
Hrvatski
Čeština
Dansk
Nederlands
English
Estonian
Persian
Français
Deutsch
עברית
Magyar
Italiano
Macedonian
Norwegian
Português
Português
Română
Русский
Español
Svenska
Türkçe
Українська
Решено — PHP mail() не работает
Офис
Новый Плескиан
- #1
Привет, на моем сервере у меня была следующая конфигурация: — Centos 7, Plesk 17.8.11
Мне нужно отправить электронную почту с сервера с php. Я пробую простой скрипт, использующий функцию PHP mail().
Сценарий работает нормально, но письмо не доставляется.
Может быть, мне нужно что-то настроить в Plesk?
Спасибо
IgorG
Plesk зависим!
- #2
Убедитесь, что утилите Sendmail разрешено использовать:
Plesk > Инструменты и настройки > Настройки почтового сервера
Офис
Новый Плескиан
- #3
Привет IgorG спасибо за повтор. Включить функции управления почтой в Plesk отмечен флажком, а установленным почтовым сервером является Qmail.
Bitpalast
Plesk зависим!
- #4
Откуда вы знаете, что mail() не работает? Вы проверили /var/log/maillog (/var/log/mail.log), чтобы убедиться, что почта не отправляется? В этом случае PHP должен показать сообщение об ошибке в /logs/error_log (/logs/error.log). Так или иначе, вы действительно доказали, что почта не отправляется?
MarkM
Ranch Dressing Expert
- #5
Нужен. Более. Информация.
Офис
Новый Плескиан
- #6
Питер Дебик сказал:
Откуда вы знаете, что mail() не работает? Вы проверили /var/log/maillog (/var/log/mail.log), чтобы убедиться, что почта не отправляется? В этом случае PHP должен показать сообщение об ошибке в /logs/error_log (/logs/error.log). Так или иначе, вы действительно доказали, что почта не отправляется?
Нажмите, чтобы развернуть. ..
Я сказал, что функция почты php работает, проблема в том, что электронная почта не доставляется. Нет ошибок в файлах журнала
Офис
Новый Плескиан
- #7
МаркМ сказал:
Нужен. Более. Информация.
Нажмите, чтобы развернуть…
Скажите, какая информация вам нужна, я постараюсь предоставить
Bitpalast
Plesk зависим!
- #8
«Не доставлено» не означает «не отправлено». Крайне важно знать, помещено ли электронное письмо в очередь рассылки. Попробуйте найти его в /var/log/maillog (/var/log/mail.log), потому что там обычно видно, что с ним делает почтовый сервер. Обычно вы можете найти его, выполнив поиск по адресу получателя, например.
# grep «<здесь адрес получателя>» /var/log/maillog
, а затем прочитать уникальный идентификатор обработки (например, B1D992A98722F9) и отобразить все записи этого идентификатора, такие как
# grep «<уникальный идентификатор обработки>» /var/log /почтовый журнал
Офис
Новый Плескиан
- #9
Питер Дебик сказал:
«Не доставлено» не означает «не отправлено». Крайне важно знать, помещено ли электронное письмо в очередь рассылки. Попробуйте найти его в /var/log/maillog (/var/log/mail.log), потому что там обычно видно, что с ним делает почтовый сервер. Обычно вы можете найти его, выполнив поиск по адресу получателя, например.
# grep «<здесь адрес получателя>» /var/log/maillog
, а затем прочитать уникальный идентификатор обработки (например, B1D992A98722F9) и отобразить все записи этого идентификатора, такие как
# grep «<уникальный идентификатор обработки>» /var/log /maillogНажмите, чтобы развернуть…
это содержимое почтового журнала
26 февраля 03:54:52 сервер /var/qmail/bin/relaylock[6544]: /var/qmail/bin/relaylock: почта с
26 февраля 03:54:52 сервер smtp_auth[6545]: SMTP-подключение от неизвестного [
Bitpalast
Plesk зависим!
- #10
Если команды даны правильно, поисковая фраза grep должна быть частью вывода. В случае, показанном выше, это не так, следовательно, команды были введены неправильно.
Например,
# grep 6544 /var/log/maillog
может привести к выводу, показанному выше. Но где здесь адрес получателя? Похоже, это не связано с попытками отправки почты.
Офис
Новый Плескиан
- #11
Питер Дебик сказал:
Если команды даны правильно, поисковая фраза grep должна быть частью вывода. В случае, показанном выше, это не так, следовательно, команды были введены неправильно.
Например,
# grep 6544 /var/log/maillog
может привести к выводу, показанному выше. Но где здесь адрес получателя? Похоже, это не связано с попытками отправки почты.Нажмите, чтобы развернуть…
Хорошо, извините, теперь я понимаю лучше:
26 февраля 12:12:50 сервер smtp_auth[12521]: Нет такого пользователя ‘ [email protected] ‘ в базе данных авторизации почты
26 февраля 12:12:50 сервер smtp_auth [12521]: FAILED: [электронная почта защищена] — неверный пароль от (null) [ip]
26 февраля 12:13:38 сервер qmail: 1551179618.547648 запуск доставки 123: сообщение 189694 на локальный mysite- [электронная почта защищена]
26 февраля 12:13:38 сервер qmail-local-handlers[12569]: to=mysite- [электронная почта защищена]
26 февраля 12:14:08 сервер qmail: 1551179648. 737256 начало доставки 124: сообщение 189714 на локальный mysite- [электронная почта защищена]
: 10021 Febb007
mysite – это обычный веб-сайт, а ip – это IP-адрес моего подключения.
Bitpalast
Plesk зависим!
- #12
Видите ли вы больше деталей при выполнении
# grep 12569 /var/log/maillog
?
Это не выглядит неправильно, скорее почта доставляется в локальный почтовый ящик.
Офис
Новый Плескиан
- №13
Питер Дебик сказал:
Вы видите больше деталей при выполнении
# grep 12569 /var/log/maillog
?Это не выглядит неправильно, скорее почта доставляется в локальный почтовый ящик.
Нажмите, чтобы развернуть…
почтовый ящик не локальный
Bitpalast
Plesk зависим!
- №14
Итак, ваш скрипт пытается отправить почту на адрес электронной почты, который заканчивается в том же домене, откуда отправляет скрипт, но ваши почтовые ящики для этого домена не расположены на том же сервере? В этом случае почта будет отправлена, но не покинет локальный хост, потому что локальный хост считает себя ответственным за управление доменом, включая почтовые ящики домена. Письма, использующие mail(), доставляются, но не во внешний почтовый ящик, а в локальный почтовый ящик отправляющей системы.
В этой конфигурации нельзя использовать простую функцию рассылки. Вместо этого вы должны использовать почтовую программу SMTP и войти во внешнюю систему (скорее всего, в систему управления почтой вашего домена), чтобы отправлять почту на внешний почтовый ящик домена.
Офис
Новый Плескиан
- №15
Офиссказал:
почтовый ящик не является локальным
Нажмите, чтобы развернуть. ..
хорошо, я понял лучше. На моем сервере с Plesk у меня был другой домен.
example1.com
example2.com
Мой php-скрипт пытается отправить электронное письмо на [email protected] с [email protected]
Если я попытаюсь отправить электронное письмо на [email protected], это сработает. но мне нужно получить электронное письмо на [email protected]
Надеюсь, я правильно объяснил.
Bitpalast
Plesk зависим!
- №16
Находится ли почтовый ящик [электронная почта защищена] на том же узле, который отправляет почту? В этом случае почта будет доставляться на локальный почтовый ящик. Он не покинет сервер.
Офис
Новый Плескиан
- # 17
Питер Дебик сказал:
Почтовый ящик [электронная почта защищена] расположен на том же узле, который отправляет почту? В этом случае почта будет доставляться на локальный почтовый ящик. Он не покинет сервер.
Нажмите, чтобы развернуть…
Спасибо за помощь, вы были очень полезны. Я исправляю свою проблему. Хорошего дня
РК Пандей
Новый Плескиан
- # 18
Привет,
Я столкнулся с проблемой невозможности отправки почты из моей почтовой функции в форме php для моего конкретного домена (например: abc.com), у меня есть другой домен ex: def.com на том же сервере, но оттуда почта отправляется успешно, не в состоянии распознать, в чем проблема?
Может ли кто-нибудь помочь.
Заранее спасибо.
РК Пандей
Новый Плескиан
- # 19
Также я не знаю, что использовать SMTP для отправки электронной почты.
Bitpalast
Plesk зависим!
- #20
Вы заглядывали в /var/log/maillog (mail.log в Debian), что там написано, когда вы пытаетесь отправить почту?
Ошибка Exchange SMTP 550 5.7.1 Не удается ретранслировать
Сервер Exchange использует простой протокол передачи почты (SMTP) для отправки сообщений электронной почты с почтового клиента на сервер и наоборот. Он отвечает за отправку данных по сети. В Exchange после включения IMAP или POP3 необходимо настроить параметры аутентификации SMTP для пользователей, чтобы они могли отправлять электронные письма.
Иногда может произойти сбой доставки электронной почты, и следующее сообщение может быть передано обратно на сервер — код ошибки SMTP 550 5.7.1,
«Почтовая система SMTP вернула следующую ошибку: (0x8004020F): сервер отклонил один или несколько адресов получателей. Ответ сервера был 550 5.7.1 Невозможно ретранслировать»
В двух словах, это сообщение представляет собой отчет о недоставке (NDR) или уведомление о состоянии доставки (DSN) электронной почты. Ошибка 550 5.7.1 обычно означает, что пользователь не авторизован и, следовательно, не может отправлять электронные письма. В результате сообщение ретранслируется обратно на сервер.
Что такое ошибка SMTP 550 5.7.1 Не удается ретранслировать?
Ошибка «550 5.7.1 Невозможно ретранслировать» — это загадочный код ошибки по протоколу HTTP, который запрещает пользователям отправлять электронные письма. Коды ошибок содержат важную информацию о сохраняющейся проблеме. Обычно он состоит из трех цифр, где каждая цифра определяет определенный атрибут. В такой ситуации нужно исправить ошибку SMTP 550, поняв смысл и причину возникновения. Описание ошибки 550 Unable to relay message выглядит следующим образом,
- Первая цифра указывает, принимает ли сервер Exchange команду, обнаруживает ли ошибка или начинает соответствующее действие.
- Следующие цифры отображаются, если существует какая-либо ошибка соединения или синтаксическая ошибка. Его можно рассматривать как сообщение об ошибке, связанное с безопасностью, если оно не позволяет неавторизованным пользователям получить доступ к серверу Exchange для ретрансляции электронной почты.
Какие факторы ответственны за ошибку SMTP 550 5.7.1 «Не удается ретранслировать»? 906:00
Возможны различные причины возникновения ошибки Exchange SMTP 550 Невозможно ретранслировать ошибку. Это:
- Ошибка аутентификации/нет разрешения на отправку сообщений получателю
- Адрес отправителя не распознается сервером исходящей почты
- Повреждение базы данных Exchange
- Политика получателя домена получателя блокирует электронные письма от домена отправителя
- Электронная почта направляется на неправильный сервер
- Отправка сообщения электронной почты большой группе рассылки
Чаще всего причиной может быть повреждение базы данных или отсутствие определенной политики получателя для определенного домена в пользовательском отделе в базе данных (базах) сервера Exchange, что приводит к появлению этого сообщения об ошибке.
Как исправить ошибку Exchange SMTP 550 5.
7.1 «Не удается ретранслировать»?Ниже мы предоставили несколько ручных решений для исправления ошибки Exchange 550 5.7.1. Однако для выполнения этих шагов может потребоваться значительный технический опыт. Следовательно, необходимо хорошее знание процессов сервера Exchange. Вам также потребуется доступ администратора и разрешения для выполнения команд и шагов, обсуждаемых ниже.
Метод 1: проверьте журналы событий
Проверьте все существующие ошибки сервера Exchange в журнале событий приложений и найдите соответствующие методы устранения в Интернете. Проверка журналов событий приложений поможет вам проанализировать фактическую причину и время появления сообщения об ошибке «Ошибка Exchange SMTP 550 5.7.1, не удается ретранслировать».
Метод 2: связаться с получателем или администратором электронной почты получателя
Как упоминалось ранее, если адрес отправителя не распознается сервером исходящей почты, доставка электронной почты может завершиться ошибкой. В таком случае вы можете связаться с получателем или администратором электронной почты получателя, чтобы решить проблему с их стороны. Сообщите администратору или получателю о проблеме с доставкой электронной почты и попросите их перенастроить почтовый ящик получателя. Это может помочь вам остановить ошибку SMTP 550.
Способ 3: используйте диспетчер Exchange Server
Вы можете использовать Диспетчер сервера Exchange, чтобы устранить проблему с доставкой электронной почты и ошибку Exchange SMTP 550 5.7.1 Невозможно ретранслировать. Шаги следующие:
- Пуск Диспетчер Exchange Server
- Перейдите к Административным группам в Exchange Server Manager
- Выберите Имя административной группы , выберите Сервер, а затем Имя сервера
- Далее нажмите Протоколы и выберите SMTP
- Затем щелкните правой кнопкой мыши Виртуальный сервер SMTP по умолчанию , чтобы выбрать Свойства
- Нажмите на вкладку Доступ , а затем нажмите Ретранслятор , чтобы выбрать только список ниже
- Затем выберите IP-адрес , который вы хотите ретранслировать, и домен .
- Наконец, установите флажок, связанный с « Разрешить ретрансляцию всем компьютерам, успешно прошедшим проверку подлинности, независимо от списка выше»
- Закрыть все открытые вкладки. SMTP-сервер теперь позволяет отправлять электронные письма .
Способ 4: используйте EseUtil
Иногда ошибка SMTP 550 5.7.1 также может возникать из-за проблемы с файлом базы данных Exchange (EDB). Общие факторы, такие как проникновение вируса или вредоносного ПО, сбой питания, принудительное отключение, несовместимое антивирусное программное обеспечение или сбой сервера, могут привести к повреждению базы данных, что может привести к ошибке «Exchange SMTP Error 550 Unable to Relay». Чтобы исправить повреждение базы данных, вы можете использовать EseUtil, встроенную утилиту Exchange, предлагаемую Microsoft. Вы также можете использовать EseUtil, который находится в папке C:\Program Files\Microsoft\Exchange Server\Vxx\Bin, для проверки целостности базы данных, ее дефрагментации и уменьшения размера базы данных.
Ниже приведены некоторые команды EseUtil, которые можно использовать для выполнения различных операций с базой данных Exchange.
- Дефрагментация базы данных
ЭСЕУТИЛ/Д
- Проверка целостности базы данных
ЭСЕУТИЛ /г
- Выполнение мягкого восстановления
ЕСЕУТЛ/П
В Exchange 2010 и более ранних версиях необходимо использовать Isinteg, поскольку EseUtil доступен только в Exchange 2010 SP1 и более поздних версиях.
Изинтег –с
- Выполнение жесткого восстановления (может привести к потере данных)
ЭСЕУТИЛ/С
СОВЕТ: Всегда отключайте базу данных и создавайте ее резервную копию перед выполнением каких-либо операций с файлом базы данных Exchange.
Метод 5: Используйте программное обеспечение для восстановления Exchange
Вероятность устранения ошибки с помощью EseUtil зависит от степени повреждения файлов EDB и встроенных объектов. Кроме того, это может привести к безвозвратной потере данных, если будет выполнено жесткое восстановление. Таким образом, в случае серьезного повреждения и во избежание потери данных всегда лучше использовать профессиональное программное обеспечение для восстановления Exchange, такое как Stellar Repair for Exchange.
Программное обеспечение для восстановления Exchange восстанавливает испорченные и поврежденные файлы базы данных Exchange, извлекает почтовые ящики и сохраняет их в формате PST без потери данных. Вы также можете импортировать извлеченные почтовые ящики и элементы почтовых ящиков на работающий сервер Exchange напрямую с помощью программного обеспечения. Кроме того, это также помогает администраторам Exchange восстанавливать и восстанавливать удаленные почтовые ящики из файлов баз данных Exchange 2019, 2016, 2013, 2010, 2007, 2003, 2002, 2000 и Exchange 5. 5 за несколько кликов.
Заключительные мысли
Ошибку 550 5.7.1 Unable to relay SMTP можно устранить, следуя ручным методам, описанным в этом руководстве. Однако эти методы работают только в том случае, если причина ошибки SMTP 5.7.1 связана с аутентификацией, политикой получателя и проблемами, связанными с разрешениями. Эти методы не будут работать, если проблема вызвана нарушением целостности файла базы данных Exchange.
В таких случаях вы можете использовать EseUtil для восстановления базы данных с помощью программных или аппаратных команд восстановления. Но EseUtil может привести к потере данных и невозможности восстановить базу данных, если повреждение серьезное. Чтобы избежать потери данных и восстановить почтовые ящики из серьезно поврежденной или поврежденной базы данных, вы можете использовать расширенное программное обеспечение для восстановления Exchange, такое как Stellar Repair for Exchange. Это может помочь вам быстро решить проблему с базой данных Exchange и избежать сообщения об ошибке Exchange SMTP 550 5.