Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα

 

Εχω κατεβασει το τελευταιο PHPMailer και το εχω σε Localhost μαζι με apache και php. Κανω καποια προχειρα τσεκαρισματα σε SSL config και περνω τα εξης

default_cert_file = C:\Program Files\Common Files\SSL/cert.pem
default_cert_file_env = SSL_CERT_FILE
default_cert_dir = C:\Program Files\Common Files\SSL/certs
default_cert_dir_env = SSL_CERT_DIR
default_private_dir = C:\Program Files\Common Files\SSL/private
default_default_cert_area = C:\Program Files\Common Files\SSL
ini_cafile = 
ini_capath = 

Αν κανω

 var_dump(fsockopen("smtp.gmail.com", 465, $errno, $errstr, 3.0));
 var_dump($errno);
 var_dump($errstr);

μου δινει

fsockopen resource(2) of type (stream) int(0) string(0) "" 

Στο gmail που χρησιμοποιω στο SMTP εχω κανει unlock captcha και εχω κανει allow less secured apps.

Στο info php δινει την openssl ενεργοποιημενη. Οποτε ολα καλα (?)

 

Παρολα αυτα, κάθε φορα που παω να στειλω mail, μου δινει τα εξης λαθη συνεχεια, ειτε προσπαθησω με ssl ειτε με tls

SSL operation failed with code 1. OpenSSL Error messages:error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed 
Failed to enable crypto
unable to connect to ssl://smtp.gmail.com:465 (Unknown error)

Αν παιζει καποιο ρολο, δουλεψε με ssl για κανα 5ωρο περιπου, εστειλε καποια mail οσο επαιζα με τον κωδικα, γυρω στα 50 περιπου και ξαφνικα παλι σταματησε , βγαζωντας τα ιδια λαθη. Μπορει να εχει οριο η google στο smtp της? Δεν ξερω και τα 50 mail μου φαινονται λιγα. 

 

Λογικα αυτο ειναι λαθος με τα ssl certificates και οχι με το PHPMailer. Eιλικρινα δε ξερω πως να το αντιμετωπισω. Αν εχετε καποιο tip ή οδηγιες για το πως να τεσταρω τα certificates η να τα κανω update η οτιδηποτε, παρακαλω πειτε μου.

 

Ακολουθει ολοκληρος ο κωδικας του PHPMailer, οπως τον σεταρα απλα για τεστ και μονιμως πεταει αυτα τα λαθη. 

 

Ευχαριστω

<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'C:/php/PHPMailer/src/Exception.php';
require 'C:/php/PHPMailer/src/PHPMailer.php';
require 'C:/php/PHPMailer/src/SMTP.php';

$mail = new PHPMailer(true);  
try {
    $mail->SMTPDebug = 3; 
    $mail->isSMTP();
    $mail->Host = 'smtp.gmail.com'; 
    $mail->SMTPAuth = true;         
    $mail->Username = '[email protected]';
    $mail->Password = 'darudepassword';              
    $mail->SMTPSecure = 'ssl';                      
    $mail->Port = 465;                              

    $mail->setFrom('[email protected]');
    $mail->addAddress('[email protected]'); 

    $mail->isHTML(true);                       
    $mail->Subject = 'subject';
    $mail->Body    = 'HTML message body <b>in bold!</b>';
    $mail->AltBody = 'body in plain text ';
    $mail->send();

} catch (Exception $e) {
    echo 'Mailer Error: ' . $mail->ErrorInfo;
}

?>
Δημοσ.

Είχα ακριβώς το ίδιο πρόβλημα με το καινούργιο το PHPMailer, και το έλυσα βάζωντας:

Port 25
SSL Authentication: YES

SMTP Security: NO

 

Εν τέλει θέλω να καταλήξω δοκίμασε αν δουλέψει με πόρτα 25.

Δημοσ.

Εβαλα port 25 και τώρα μου δινει 

stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed 
Error: Could not connect to SMTP host.

Σου δούλεψε με port 25? Επειδη στο troubleshooting page τους επιμενουν οτι το ssl εχει port 465 και το tls, port 587.

Μπορεις να ποσταρεις το σεταρισμα σου? Η μηπως εχεις πειραξει κατι σε καποιο αλλο σημειο?

 

Ευχαριστω

Δημοσ.

Ναι λογικό να σου βγάζει error τώρα, γιατι παρ'ολο που εβαλες πόρτα 25, εχεις αφήσει το crypo ανοιχτό!

By the way η Google εχει όρια για το SMTP και μπορείς να τα δεις εδω: https://support.google.com/a/answer/176600?hl=en

 

Φαντάζομαι εχεις δει το Git του PHPMailer: https://github.com/PHPMailer/PHPMailer

Δημοσ.

Ναι εχω δει το git του και απο κει εχω κοπιαρει κ το test code μου. Επισης εχω δει και αυτο https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting απειρες φορες.

 

Θα προτιμουσα να το δουλεψω με το crypto ενεργοποιημενα για λογους ασφαλειας. Επισης , εδω με μπερδευεις SSL Authentication: YES

SMTP Security: NO. Δεν εχεις security αλλα εχεις ssl? Δηλαδη κανεις $mail->SMTPAuth = false;  αλλα  $mail->SMTPSecure = 'ssl';  ?

 

Ναι οντως εχει ορια στο gmail smtp, αλλα ειναι πολυ πιο πανω απο τα 50 mail που εστειλα εγω.

 

Thanks ρε φιλε, αλλα εχω κολλησει κ γω, δε βλεπω λυση.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...