• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd 405 not allowed

0 głosów
4,166 wizyt
pytanie zadane 10 października 2017 w PHP przez BlackCat_ Początkujący (310 p.)

Hej:) podpowie mi ktoś z Was w której linijce zrobiłam błąd, że po wypełnieniu formularza na www i kliknięciu "wyślij" po dłuższym czasie pojawia się napis "405 Not Allowed" ?

<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require __DIR__ . 'vendor/autoload.php';

$mail = new PHPMailer;                              // Passing `true` enables exceptions

try {
    //Server settings
   // $mail->SMTPDebug = 2;                                 // Enable verbose debug output
    $mail->isSMTP();                                      // Set mailer to use SMTP
    $mail->Host = '*******.com';  // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Username = 'art@********.com';                 // SMTP username
    $mail->Password = '*******';                           // SMTP password
    $mail->SMTPSecure = 'TLS';                            // Enable TLS encryption, `ssl` also accepted
    $mail->Port = ****;                                    // TCP port to connect to

    //Recipients
    $mail->setFrom('art@*********.com', ' *****');
    $mail->addAddress('art@*********.com', '*****');     // Add a recipient name is optional
    $mail->addReplyTo('info@example.com', 'Information');
    // $mail->addCC('cc@example.com');
    // $mail->addBCC('bcc@example.com');

    //Attachments
    // $mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
    // $mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name

    //Content
    $mail->isHTML(true);                                  // Set email format to HTML
    $mail->Subject = 'Here is the subject';
    $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
	
	$html = new \Html2Text\Html2Text($mail->Body);
	
    $mail->AltBody = $html->getText();

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

?>

 

1 odpowiedź

0 głosów
odpowiedź 14 października 2017 przez Assasz Nałogowiec (30,460 p.)

Jeśli korzystasz z TLS to ustaw port 587, jeśli natomiast masz ustawiony port 465, to zmień szyfrowanie na SSL.

Patrz: dokumentacja, using encryption.

EDIT: Właśnie zauważyłem, że post sprzed 3 dni, no ale może problem nadal aktualny :)

komentarz 14 października 2017 przez BlackCat_ Początkujący (310 p.)

Dziękuję, że w ogóle spróbowałeś doradzić coś, żeby rozwiązać ten problem! :)

Jakoś w połowie rozwiązałam to wczoraj, bo ten błąd 405 już się nie pojawia i maile się wysyłają. Zostało mi jeszcze pobieranie danych tych z formularza, żeby nie dochodziły jednakowe tylko z tymi informacjami jakie osoba zainteresowana poda w nim na www :)

Gdyby ktoś potrzebował zerknąć na rozwiązanie jakie działa u mnie to niżej podaję kod.

Pod **** oczywiście trzeba sobie podstawić już indywidualnie.

<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require __DIR__ . '/vendor/autoload.php'; 

 
	
	$mail = new PHPMailer(true);                  

try {

    $mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
                  )
							  );
	
    $mail->Timeout  = 10;		
    $mail->isSMTP();   
    $mail->SMTPSecure = 'TLS'; 
    $mail->Host = '******.com';  
    $mail->SMTPAuth = true;                               
    $mail->Username = 'art@********.com';                 
    $mail->Password = '********';                
    $mail->Port = 587;          
    	
    $mail->setFrom('art@*******.com', 'NADAWCA NAZWA');
    $mail->addAddress('*****', 'NAZWA');
 
    
    $mail->isHTML(true);                                  
    $mail->Subject = 'TEMAT WIADOMOSCI';
    $mail->Body    = 'TO JEST TRESC';
	
	$html = new \Html2Text\Html2Text($mail->Body);
	
    $mail->AltBody = $html->getText();

    $mail->send();
    echo 'Wiadmość wysłana poprawnie';
} catch (Exception $e) {
   
    echo 'Nie można wysłać wiadmości: ' . $mail->ErrorInfo;
	
}
	

?>

 

Podobne pytania

0 głosów
1 odpowiedź 584 wizyt
pytanie zadane 7 lipca 2019 w JavaScript przez Michał_pl Początkujący (300 p.)
–1 głos
1 odpowiedź 667 wizyt
pytanie zadane 15 listopada 2015 w C i C++ przez Juliko Początkujący (280 p.)
0 głosów
1 odpowiedź 1,440 wizyt
pytanie zadane 22 maja 2017 w PHP przez mizeriowy Użytkownik (650 p.)

93,731 zapytań

142,669 odpowiedzi

323,286 komentarzy

63,291 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...