Nie działa phpmailer

Witam nie działa mi phpmailer nie wysyła mi e-maila z serwera mailtrap strona się w ogóle nie ładuje. o to script.`<?php

/* php milner */

require DIR . ‘/…/vendor/autoload.php’;
/echo DIR;/
/echo działa_trapmail;/

function send_mail($config)
{

$mail = new PHPMailer;

//$mail ->mailError = 3;
$mail->CharSet = ‘UTF-8’;
$mail->isSMTP (); // Set mailer to use SMTP
$mail->Host = ‘smtp.mailtrap.io’; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = ‘d7193513a3f1c1’; // SMTP username
$mail->Password = ‘b322e4b4e6ab04’; // SMTP password
$mail->SMTPSecure = ‘tls’; // Enable TLS encryption, ssl also accepted
$mail->Port = 2525; // TCP port to connect to

$mail->setFrom('wiktorski84@gmail.com', 'maciej');
$mail->addAddress('wiktorski84@gmail.com', 'maciej');     // Add a recipient
$mail->AddReplyTo('wiktor10-93@o2.pl', 'Reply to name');
// $mail->addAddress('ellen@example.com');               // Name is optional
$mail->addReplyTo($config->from_email, $config->from_name);
// $mail->addCC('cc@example.com');
// $mail->addBCC('bcc@example.com');

 $mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments

$mail->addAttachment(’/tmp/image.jpg’, ‘new.jpg’); // Optional name
$mail->isHTML(true); // Set email format to HTML

$mail->Subject = $config->mail_subject;
$mail->Body    = $config->mail_body;

$html = new \Html2Text\Html2Text($mail->Body);
$mail->AltBody = $html->getText();

if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}

}

if ($_SERVER[‘REQUEST_METHOD’] === ‘POST’) {

$config = (object) [
	'from_email' => $_POST['from_email'],
	'from_name' => $_POST['from_name'],
	'mail_subject' => $_POST['mail_subject'],
	'mail_body' => $_POST['mail_body'],
];
send_mail($config);

}

?>`

  1. Sprawdź logi php

  2. Jak łączysz się ze stroną? Na pewno jest to żądanie typu POST?

  3. Co to w ogóle znaczy? Konkretnie te /

    /echo DIR;/
    /echo działa_trapmail;/

/echo DIR;/
/echo działa_trapmail;/
to jest za komentowane sprawdzałem tylko poprawność ścieżki. A POST musi być ponieważ scrypt wysyła zapytanie .

Pierwszy raz widzę takie komentarze w PHP…

Jakie zapytanie skrypt Ci wysyła? Poza tym ja się pytałem czy na pewno wysyłasz poprawnego requesta do skryptu.

No i co na to wszystko logi?

Po prostu użyłem tego kodu który jest teraz za komentowany i mi na razie nie potrzebny. A request jest pobierany z pliku autoload.php.

Request wysyła przeglądarka do serwera i przy obecnym skrypcie jeśli request nie będzie metodą post to Ci się nic nie wykona. Domyślna metoda requestu HTTP to GET, więc jeśli nie pobierasz skryptu metodą POST to efekt jest taki, że nic się nie wykonuje, ani nie wyświetla.

Jednoslashowe komentarze nie są poprawne, są niezgodne ze specyfikacją i skutkują błędem wykonania: https://ideone.com/rUzSxs
Poprawne byłyby podwójne, czyli //

Na 99% dlatego to nie działa.

Niezależnie dopisz do tego if ($_SERVER[‘REQUEST_METHOD’] === ‘POST’) { jeszcze sekcję else i zrób coś w stylu wyświetl tekst albo cokolwiek co pozwoli ci ocenić poprawność działania tzn. czy dane są przesyłane właściwą metodą. No i z send_maila wypadałoby zwracać jakiś rezultat wysyłki i też go raportować do skryptu.