0
votes

2019 n'a pas réussi à appeler au nouveau phpmailer qui ne crée pas d'instance de PHPMailer version 6.0.7

Impossible d'appeler nouveau phpmailer et ne crée pas d'instance de phpMailer. Le réglage de $ Mail-> Smtpdebug crée une instance STDCLASS, puis appelant une méthode inexistante sur celle-ci (ISSMTP) échoue. Donc, tout est en échec de la création d'instance. PHPMailer version 6.0.7 Service d'hébergement en direct

J'ai essayé $ mail = nouveau stdclass ();
ou $ mail = null; Ceci est un correctif symptôme mais ne fait pas la cause et fait que ma page envoie un email à chaque chargement de sa charge. xxx

espère trouver une solution pour savoir pourquoi il échoue.

Supprimé tout mon code, effectué ce que Synchro a déclaré et obtenu ceci: < P> Objet (phpmailer \ phpmailer \ phpmailer) # 1 (74) {["priorité"] => null ["" Charset "] => chaîne (10)" ISO-8859-1 "[" contenttype "] => chaîne (10) "Texte / plaine" ["codage"] => chaîne (4) "8 bits" ["ErrorInfo"] => String (0) "" ["Du"] => String (14) "Root @ localhost "[" Fromname "] => String (9)" Utilisateur root "[" Sender "] => String (0)" "[" Sujet "] => String (0)" ["Corps"] => String (0) "" "[" Altbody "] => String (0)" "[" ICAL "] => String (0)" " ["Mimebody": protégé] => string (0) "" ["MiMeheader": protégé] => chaîne (0) "" ["Mayheader": Protégé] => String (0) "[" WordWrap "] => int (0) ["" Mailer "] => String (4)" Mail "[" SendMail "] => String (18)" / USR / SBIN / SENDMAIL "[" UTILOWMAILOPTIONS "] => BOOL (TRUE) ["ConfirmReadingTo"] => String (0) "" ["" HostName "] => String (0)" "[" "MessageID"] => String (0) "[" Messagedate "] => String (0) "" ["" Hôte "] => chaîne (9)" localhost "[" port "] => int (25) "HELO"] => String (0) "" ["SMTPSecure"] => String (0) "" ["SMTPAutotLs"] => BOOL (TRUE) ["SMTPAUTH"] => BOOL (FAUX) ["SMPTPOTIONS "]] => array (0) {} [" nom d'utilisateur "] => chaîne (0)" "[" mot de passe "] => chaîne (0)" "[" String (0) "[ "OAuth": Protégé] => NULL ["Timeout"] => int (300) ["DSN"] => String (0) "" ["SMTPDEBUG"] => int (0) ["DEBUGOUTPUT"] = > String (4) "HTML" ["SMTPKEKALIVE"] => BOOL (FALSE) ["SINGLETO"] => BOOL (FALSE) ["Singletoarray": protégé] => array (0) {} ["do_verp"] => bool (false) ["autoritaire"] => bool (faux) ["dkim_selector"] => String (0) "" ["Dkim_identity"] => chaîne (0) "" ["dkim_passphrase" => string (0) "" ["dkim_domain"] => string (0) "" ["dkim_copyheaderfields"] => bool (vrai) ["Dkim_extraheaders"] => array (0) {} ["dkim_private"] => chaîne (0) "" ["dkim_private_string"] => string (0) "[" action_function "] => String (0) "" "Xmailer"] => chaîne (0) "" ["SMTP": protégé] => null ["": protégé] => array (0) {} ["CC": protected] => Array (0) {} ["BCC": Protégé] => Array (0) {} ["Répondre": Protégé] => Array (0) {} ["All_Recipients": Protégé] => Array (0) {} ["Destinataire ": Protégé] => Array (0) {} [" ReplyToQueue ": Protégé] => Array (0) {} [" Pièce fixe ": Protégé] => Array (0) {} [" CustomHeader ": Protégé] = > Array (0) {} "LastMessageID": protégé] => String (0) "" ["Message_Type": Protégé] => String (0) "" ["LIMITE": Protégé] => Array (0) {} ["Langue": Protégé ] => Array (0) {} ["error_count": protégé] => int (0) ["" signe_cert_file ": protégé] => chaîne (0)" "[" SIGN_KEY_FILE ": Protégé] => String (0) "" ["SIGN_EXTRACERTS_FILE": Protégé] => String (0) "" ["SIGN_KEY_PASS": Protégé] => String (0) "" ["Exceptions": Protégé] => BOOL (FAUX) ["FAUX) [" FAUX): protégé] => chaîne (0) ""


0 commentaires

3 Réponses :


0
votes

Vous avez oublié un support après condition avec Isset ($ _ [...]) code>.

if(isset($_POST['submit'])) {
    //                      ^^
    $mail = new PHPMailer(true);

    $mail->SMTPDebug = 2; // 0 = off (for production use) - 1 = client messages - 2 = client and server messages
    $mail->isSMTP(); 
    ...
}
// of course, don'f forget to add a closing one too here.


4 commentaires

Le problème est quand j'ajoute le {}, cela n'envoie aucun e-mail à moi. Si je le retire et ajoute la messagerie $ = Nouvelle STDCLASS (); ou $ mail = null; , Ça me emaille. Si je fais les deux, cela ne m'envoie pas de courrier électronique. DÉJÀ REDOWNLOPRÉRÉ LES FICHIERS PHPMAILER AUSSI SANS AUCUN CHANGEMENT.


@ TD00: les crochets sont correctement là-bas. Alors vérifiez s'il y a une entrée / bouton avec nom = Soumettre dans votre formulaire. Si oui, vous avez utilisé de mauvaises citations autour de la clé. Il doit être $ _ post ['Soumettre'] pas $ _ post ['Soumettre'] (j'ai de bonnes cotes dans ma réponse).


Ces deux choses sont venues dans la discussion d'origine .


@Synchro: Vraiment ne vérifie pas la discussion, travaillant avec des informations et des codes publiés ici en question.



0
votes

Ceci est un duplicata de Votre question précédente avec un titre différent.

Lorsque vous avez du code qui ne fonctionne pas, réduisez-le à un exemple minimal de sorte que vous excluez les possibilités d'ambiguïté et d'activer la déclaration d'erreur Verbose et visible: xxx

Si cela ne fonctionne pas, un script plus complexe ne fonctionne pas non plus. Pour que cela échoue, je soupçonnerais qu'il y a quelque chose de gravement faux avec votre installation de PHP, et à tout le moins, je m'attendrais à voir des avertissements enregistrés.


6 commentaires

Aucun fichier SMTP Erreur fatale: Erreur non capturée: Classe 'phpmailer \ phpmailer \ smpmailer \ smtp' non trouvé dans /phpmailer/phpmailer.php:1759 pile trace: # 0 /phpmailer/phpmailer.php(1884): phpmailer \ phpmailer \ phpmailer-> GetsMTPnstance () # 1 /phpmailer/phpmailer.php(1797): phpmailer \ phpmailer \ phpMailer-> smtpconnect (tableau) # 2 L / phpmailer / phpmailer.php (1539): phpmailer \ phpmailer phpmailer-> SMTPSEND ('Date: Tue, 11 J ... ',' "Premier N ... ') # 3 /phpmailer/phpmailer.php(1375): phpmailer \ phpmailer \ phpmailer-> postsend () # 4 (69): phpmailer \ Phpmailer \ phpmailer-> Envoyer () # 5 {Main} jeté dans phpMailer / phpmailer.php à la ligne 1759


C'est en fait un signe positif par rapport à votre autre script! Essayez d'ajouter le SMTP Utiliser l'instruction et le exiger pour cela aussi.


Aurais-je besoin d'ajouter une utilisation phpmailer \ phpmailer \ smtp;? Parce que je n'ai pas fait dans le code d'org.


J'ajoute la ligne SMTP d'utilisation et cela semble être fonctionné. Je ne savais pas que cela était nécessaire, mais toute mon erreur s'est éloignée et elle a fait la connexion et envoyée. Je ne suis pas sûr de si c'est le correctif? Je vais jouer avec elle et confirmera.


Strictement parler, vous n'avez pas besoin de l'instruction pour la classe SMTP car elle n'est jamais mentionnée directement dans votre code. Vous aurez besoin du besoin cependant. Content que cela fonctionnait pour vous; Si cette réponse vous a aidé à résoudre le problème, veuillez marquer cette réponse en tant que telle (cliquez sur la coche).


Je vais travailler sur cela et le confirmerai et vous donnera un crédit lorsque le crédit est dû pour m'aider.



0
votes

fixe <- grâce à Synchro -> & merci Panthers pour l'entrée

a ajouté utiliser phpmailer \ phpmailer \ smtp; <- cela fixe la plupart de mes problèmes mais pas toujours requis par synchro

Pour l'exemple de travail avec PHPMailer 6.0.7 Rechercher le
Synchro's
Ceci est un duplicata de votre question précédente avec un lien de titre différent.


0 commentaires