Intereting Posts

Ответ SMTP-сервера: 550 5.7.1 Невозможно включить ретрансляцию – Отправка электронной почты на адрес, не принадлежащий компании

Вот мой код:

<?php mail('myemail@gmail.com','Test','Test'); ?> 

При отправке на адрес, не принадлежащий компании, я получаю следующую ошибку:

 Warning: mail(): SMTP server response: 550 5.7.1 Unable to relay in C:\inetpub\wwwroot\internal_tools\include\mail.php on line 2 

При переключении адреса электронной почты на мой рабочий адрес он работает нормально. Мой PHP.ini тоже выглядит отлично:

 [mail function] ; For Win32 only. ; http://php.net/smtp ;SMTP = localhost SMTP = PCMAIL1.mycompany.com ; http://php.net/smtp-port smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from sendmail_from = no-reply@mycompany.com 

Даже создайте сайт в IIS7:

Есть идеи?

Solutions Collecting From Web of "Ответ SMTP-сервера: 550 5.7.1 Невозможно включить ретрансляцию – Отправка электронной почты на адрес, не принадлежащий компании"

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

Вот ваши варианты:

  • Вместо функции mail() используйте одну из существующих почтовых библиотек PHP, которая поддерживает аутентификацию SMTP (PEAR Mail, phpmailer, Swift Mailer и т . Д. ).
  • Установите и настройте msmtp или один из альтернатив (вот как заставить msmtp работать с PHP ). PHP выполнит программу, которая поддерживает аутентификацию SMTP, всякий раз, когда она должна отправить сообщение, если вы установите sendmail_path соответственно.
  • Измените конфигурацию почтового сервера, чтобы разрешить ретрансляцию почты с IP-адреса веб-сервера.

Вам необходимо проверить политику поставщика Smtp. Или вам нужно проверить конфигурацию сервера Smtp (если этот сервер отправляет электронные письма напрямую)