Как отправить файл журнала самому себе с помощью PHP с компьютера Windows?


Ситуация:

  • Я запускаю PHP-скрипт с компьютера с Windows 7, используя интерфейс командной строки.
  • Мой скрипт сделает свое дело, а затем сгенерирует 1 файл журнала в конце.
  • Я уже заставил всю эту часть работать.

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

Где-то в нижней части моего сценария я попробовал это:

mail('[email protected]', 'Report', strip_tags($response). PHP_EOL );

Скрипт запущен до самого низа, я получил свой файл журнала для генерации, Я также получил отчет о своем CLI, но я никогда не получал никаких электронных писем.

Результат:

enter image description here

Я не уверен, потому что я:

  • нахожусь в окне.
  • необходимо разрешить определенное расширение php
  • Необходимо настроить дополнительные параметры в моем php.ini.

Может ли кто-нибудь помочь прояснить этот вопрос?

Author: iori, 2015-03-06

1 answers

Вам нужен почтовый сервер, который настроен в PHP.ini для отправки вашей почты.

Вот краткое руководство:

Http://geekswithblogs.net/tkokke/archive/2009/05/31/sending-email-from-php-on-windows-using-iis.aspx

Обратите внимание, что консоль IIS6 по-прежнему необходима для почтового сервера, также если вы размещаете на >=IIS7.

Также вам необходимо убедиться, что ваш почтовый сервер принят Почтовым сервером, на который вы хотите отправить это письмо. Это определенно не тривиальная задача. Например, Gmail и GMX никогда не примут его, если у вас не было правильно настроено Reverse DNS.

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

Но вот хорошие новости, если вы не хотите настраивать свой собственный почтовый сервер. Это очень просто с размещенным адресом электронной почты и SMTP, если вы используете проект с открытым исходным кодом PHPMailer:

require 'PHPMailerAutoload.php';

$mail = new PHPMailer;

$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp1.example.com;smtp2.example.com';  // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = '[email protected]';                 // SMTP username
$mail->Password = 'secret';                           // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587;                                    // TCP port to connect to

//More in the Documentation    

У него есть мощный класс SMTP, который помогает extreme для входа в любую учетную запись SMTP (например, Gmail).

 1
Author: Christian Gollhardt, 2015-03-06 18:36:43