Wybaczcie że Was męczę. Przerobiłam trochę kod i myślę że jestem coraz bliżej celu. Problem wydaje mi się że tkwi w konfiguracji PHP. Jak moglibyście się przyjrzeć i pomóc w konfiguracji . Niby wszystko dobrze a nie dostaje wysłanych wiadomości. Może też pocztę na którą mają przychodzić wiadomości muszę skonfigurować by takowe wiadomości otrzymywać ze strony?
Poniżej komunikat jaki mam po kliknięciu w wyśkij czy to testując lokalnie czy też na hostingu
Could not access file - to pojawia się jak nie dodam pliku w wiadomości. Dodając plik już tego nie ma i jest tylko to co poniżej:
2019-09-14 1856 SERVER -> CLIENT: +OK localhost IdeaPop3Server 0.83.292 ready.
2019-09-14 1856 CLIENT -> SERVER: EHLO 127.0.0.1
Poniżej dodatkowo na serwerze lokalnym pojawia się error, chodzi o time limit bo kręci po kliknięciu w Wyślij i kręci(około minuty)
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\Testowy\mail\vendor\phpmailer\phpmailer\src\SMTP.php on line 1125
Fragment kodu jest na samym dole a cały PHPMailer wraz z SMTP.php w załączniku
Mam hosting na home pl i tam też do serwera utworzyłam konto pocztowe. Posiadam takie oto dane:
Serwery pocztowe
POP3
serwer1999676.home.pl Port/SSL: 995
SMTP
serwer1999676.home.pl Port/SSL: 465
IMAP
serwer1999676.home.pl Port/SSL: 993
A oto kod PHP:
Jako port podałam 995 (POP3, port poczty przychodzącej bo mam odbierać na serwerze tak mi się wydaje)
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
if(!empty($_POST["send"])) {
require_once ('vendor/autoload.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 2;
$mail->SMTPAuth = TRUE;
$mail->Port = 995;
$mail->Username = "serwer1999352";
$mail->Password = "ufIVs7q1D5lbaUmw";
$mail->Mailer = "smtp";
if (isset($_POST["userEmail"])) {
$userEmail = $_POST["userEmail"];
}
if (isset($_POST["userName"])) {
$userName = $_POST["userName"];
}
if (isset($_POST["subject"])) {
$subject = $_POST["subject"];
}
if (isset($_POST["userMessage"])) {
$message = $_POST["userMessage"];
}
$mail->SetFrom($userEmail, $userName);
$mail->AddReplyTo($userEmail, $userName);
$mail->AddAddress("[email protected]");
$mail->Subject = $subject;
$mail->WordWrap = 80;
$mail->MsgHTML($message);
$mail->IsHTML(true);
$mail->SMTPSecure = 'ssl';
$mail->Host = 'serwer1999.home.pl';
if (! empty($_FILES['attachment'])) {
$count = count($_FILES['attachment']['name']);
if ($count > 0) {
for ($i = 0; $i < $count; $i ++) {
if (! empty($_FILES["attachment"]["name"])) {
$tempFileName = $_FILES["attachment"]["tmp_name"][$i];
$fileName = $_FILES["attachment"]["name"][$i];
$mail->AddAttachment($tempFileName, $fileName);
}
}
}
}
if (! $mail->Send()) {
$message = "Ups :( Coś poszło nie tak";
$type = "error";
} else {
$message = "Wiadomość Zosała wysłana pomyślnie";
$type = "success";
}
}
A o to fragment tego kodu: ** Linia 1125: if (!stream_select($selR, $selW, $selW, $this->Timelimit)) {**
$selR = [$this->smtp_conn];
$selW = null;
while (is_resource($this->smtp_conn) and !feof($this->smtp_conn)) {
//Must pass vars in here as params are by reference
if (!stream_select($selR, $selW, $selW, $this->Timelimit)) {
$this->edebug(
'SMTP -> get_lines(): timed-out (' . $this->Timeout . ' sec)',
self::DEBUG_LOWLEVEL
);
W załączniku podałam całą bibliotekę PHPMailer w tym plik vendor\phpmailer\phpmailer\src\SMTP.php