Я сделал очень простой код с формой, а затем получил эту информацию и отправил ее по электронной почте, используя PHPMailer и G-suite.
Я запустил этот код на xampp и все в порядке. Это работает. Но когда я перемещаю это на мой хостинг, он не запускается ...
PD: я читал об этой ошибке, и, возможно, речь идет о разрешениях файлов, но я попробовал все ... Установка всех файлов на 755 и, наконец, я попытался установить его на 777 и все еще не работает .. .
Я связался с хостинг-провайдерами и сказал, что они могут помочь мне с этой личной проблемой: /
Это мой php код:
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'phpmailer/src/Exception.php';
require 'phpmailer/src/PHPMailer.php';
require 'phpmailer/src/SMTP.php';
$name="test";
$phone="test";
$email="test";
$mail = new PHPMailer(true);
try {
$password = 'PASSWD';
$mail->SMTPDebug = 2;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Username = 'email@email.com';
$mail->Password = $password;
$mail->SMTPSecure = 'tsl';
$mail->setFrom('email@email.com', 'Something');
$mail->addAddress('email@email.com');
$mail->addAddress('email@email.com');
$mail->isHTML(true);
$mail->Subject = 'New lead';
$mail->Body = 'Name: '.$name.'<br>Email: '.$email.'<br>Phone: '.$phone;
$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}
Это единственная ошибка, которую я получаю:
[IP-адрес клиента] Конец вывода сценария перед заголовками: send.php
PD:
SMTPSecure изменен на tls
Все еще не работает: (
EDIT
Это ошибки, которые я получаю
117.03.2019 22:04:22 [клиент] AH01215: Ошибка синтаксического анализа PHP: синтаксическая ошибка, неожиданное использование (T_USE) в строке 3:
17.03.2019 22:04:34 [клиент] AH01215: PHP Предупреждение: использование неопределенной константы \ xe2 \ x80 \ x98display_errors \ xe2 \ x80 \ x99 - предполагается, что \ xe2 \ x80 \ x98display_errors \ xe2 \ x80 \ x99 '(это приведет к ошибке в будущей версии PHP) в строке 2:
17.03.2019 22:05:14 [клиент] AH01220: время ожидания для вывода из сценария CGI
17.03.2019 22:05:14 [клиент] AH00574: ap_content_length_filter: apr_bucket_read () не удалось
UPDATE
Я обновил php до 7.3.2. PHPMailer на 6.0.7 версии. И единственная другая ошибка, которую я получаю, это ...
Предупреждение PHP: Использование неопределенной константы \ xe2 \ x80 \ x98display_errors \ xe2 \ x80 \ x99 - предполагается, что \ xe2 \ x80 \ x98display_errors \ xe2 \ x80 \ x99 '(это приведет к ошибке в будущей версии PHP ) в / mnt / web401 / c2 / 79/59742679 / url в строке 2: / home / strato / http / power / rid / 26/79/59742679 / url
ОБНОВЛЕНИЕ 2
- Php 7.3.2
- PHPMailer 6.0.7
- Gsuite
- Протестировано на XAMPP и фактически работает
- Хостинг на страте
Фактический код:
ini_set('display_errors', true);
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'phpmailer2/src/Exception.php';
require 'phpmailer2/src/PHPMailer.php';
require 'phpmailer2/src/SMTP.php';
$name="test";
$phone="test";
$email="test";
$mail = new PHPMailer(true);
try {
$password = 'mypassword';
$mail->SMTPDebug = 3;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Username = 'myemail';
$mail->Password = $password;
$mail->SMTPSecure = 'tls';
$mail->setFrom('email', 'fromemail');
$mail->addAddress('email');
$mail->addAddress('email');
$mail->isHTML(true);
$mail->Subject = 'New lead';
$mail->Body = 'some text';
$mail->send();
echo 'Message has been sent';
} catch (Exception $e) {
echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}
Мои файлы:
(я запускаю send2.php, потому что он использует последнюю версию phpmailer [Эта версия находится в phpmailer2])
Когда я выполняю код, я вижу это на экране:
2019-03-20 13:57:54 Соединение: открытие на smtp.gmail.com:587, тайм-аут = 300, options = array ()
Я захожу на панель хостинга и просто вижу это
20.03.2019 14:55:04 my.website [client 80.38.90.0] AH01215: PHP Предупреждение: использование неопределенной константы \ xe2 \ x80 \ x98display_errors \ xe2 \ x80 \ x99 - предполагается, что \ xe2 \ x80 \ x98display_errors \ xe2 \ x80 \ x99 '(это приведет к ошибке в будущей версии PHP) в my.route / send2.php в строке 2: my.route / send2.php
20.03.2019 14:55:44 my.website [client 80.38.90.0] AH01220: время ожидания ожидания вывода из CGI-скрипта my.route / send2.php
20.03.2019 14:55:44 my.website [клиент 80.38.90.0] AH00574: ap_content_length_filter: apr_bucket_read () не удалось