Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Inviare mail da PHP (host NON AV)

    Buon pomeriggio, come da titolo ho bisogno di inviare una mail da PHP tramite un host NON su AlterVista.
    Stesso codice, identico, su AV funziona, mentre su bonsekis.com (hostato su dominiofaidate.com) mi mostra il seguente errore:

    codice:
    PHP Warning: Missing argument 1 for MailTo::mailto(), called in C:\WebSites\bonsekis.com_ee1okrta0qwz2h1n\registration.php on line 29 and defined in C:\WebSites\bonsekis.com_ee1okrta0qwz2h1n\objects\mail.php on line 6 
    PHP Warning: Missing argument 2 for MailTo::mailto(), called in C:\WebSites\bonsekis.com_ee1okrta0qwz2h1n\registration.php on line 29 and defined in C:\WebSites\bonsekis.com_ee1okrta0qwz2h1n\objects\mail.php on line 6 
    PHP Warning: Missing argument 3 for MailTo::mailto(), called in C:\WebSites\bonsekis.com_ee1okrta0qwz2h1n\registration.php on line 29 and defined in C:\WebSites\bonsekis.com_ee1okrta0qwz2h1n\objects\mail.php on line 6 
    PHP Warning: mail() [function.mail]: SMTP server response: 503 5.5.2 Need Rcpt command. in C:\WebSites\bonsekis.com_ee1okrta0qwz2h1n\objects\mail.php on line 8
    Il codice usato è questo:
    MAIL.PHP
    Codice PHP:
    <?php
        
    class MailTo
        
    {
            private 
    $sender        "bonsekis";
            
            public function 
    mailto($recepient$header$content)
            {
                return (
    mail($recepient$header$content"MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-1\r\nFrom: ".$this->sender)) ? true false ;
            }
        }
    ?>
    REGISTRATION.PHP (pagina dove richiamo la funzione per inviare la mail, quella che mi dà problemi)
    Codice PHP:
    include "objects/mail.php";
                
    $mailto = new MailTo();
                
                
    $header        "Benvenuto in Bonsekis!";
                
    $content    =  "Salve ".$name.", grazie per esserti registrato su Bonseki.
     [...]"
    ;

                if (
    $mailto -> mailto($email$header$content))
                    echo 
    "Grazie per esserti registrato!"
    Ho provato anche a creare un nuovo indirizzo i posta elettronica sul pannello di bonsekis.com, chiamata self@bonsekis.com (ovviamente ho anche modificato i parametri passati alla funzione!) ma niente... Sicuramente è un problema dell'host perchè se su AlterVista lo stesso identico codice funziona non può essere altrimenti, io però non ho idea di come risolvere...

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    L'errore dice che non metti ne l'argomento 1, ne il 2, ne il 3.
    Sei sicuro che il codice postato sia quello che ha generato l'errore?


  3. #3
    Sicurissimo. Mi dice che non ho passato alcun parametro attuale, ma se guardi il codice non è così. Inoltre, come ho specificato, su AlterVista funziona mentre su Dominiofaidate.com no

  4. #4
    La linea 29 di REGISTRATION.PHP, qual'è? Giusto per sicurezza...

  5. #5
    Linea 29 --> include "objects/mail.php";

    Non dice che c'è un errore su questa riga ma che mancano i 3 argomenti all'inclusione della funzione in questa riga

  6. #6
    Originariamente inviato da AleVale94
    Linea 29 --> include "objects/mail.php";

    Non dice che c'è un errore su questa riga ma che mancano i 3 argomenti all'inclusione della funzione in questa riga
    Gli errori li so leggere, tranquillo
    Quel che chiedevo mi è utile per individuare DOVE va in errore, e in effetti qualcosa di strano c'è...
    Se la riga 29 è un include, e il compilatore php dice che c'è un problema con una chiamata alla riga 29, allora qualcosa non quadra...l'include non dovrebbe geneare alcun errore di quel tipo (al massimo errori di parsing e simili).
    Credo che la riga 29 sia piuttosto $mailto = new MailTo(); al che mi vien da pensare che, non so per quale motivo esoterico, sul server dove ti crea problemi, l'inizializzazione della classe chiami anche il relativo metodo mailto (che in teoria non dovrebbe chiamare, essendo la classe MailTo, con le maiuscole).
    Fai una prova banale, rinomina il metodo mailto come mail_to, per esempio, sistema ovviamente il codice che fa la chiamata, e vedi se ancora ti da errore.


  7. #7
    scusate un attimo....parla anche di una riga 6 nel file mail.php

    defined in C:\WebSites\bonsekis.com_ee1okrta0qwz2h1n\objects\ mail.php on line 6
    questo per tutti e 3 gli argomenti...cosa c'è a quella riga?

  8. #8
    Se il file è esattamente quello postato
    1 <?php
    2 class MailTo
    3 {
    4 private $sender = "bonsekis";
    5
    6 public function mailto($recepient, $header, $content)
    7 {
    8 return (mail($recepient, $header, $content, "MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-1\r\nFrom: ".$this->sender)) ? true : false ;
    9 }
    10 }
    11 ?>
    la riga 6 è quella della funzione mailto

  9. #9
    Ho fatto una prova e ti confermo, il problema è l'inizializzazione della classe che chiama il metodo mailto!
    Cambia la definizione e rendi la classe così
    codice:
    <?php
        class MailTo
        {
            private $sender        = "bonsekis";
    
            public function __construct(){
    
            }
    
            public function mailto($recepient, $header, $content)
            {
                return (mail($recepient, $header, $content, "MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-1\r\nFrom: ".$this->sender)) ? true : false ;
            }
        }
    ?>

  10. #10
    Scusate...non avevo visto...
    Comunque da anche un warning sul return e dice che il server smtp ha risposto con il codice 503 che è:
    503 - The server has encountered a bad sequence of commands.
    che però non so che possa essere...

    Mi viene un dubbio, però magari sto dicendo una castroneria...non è che è l'hosting che non supporta la funzione mail() di php?? A me è successo nel mio ultimo lavoro perchè l'azienda si appoggiava a un server smtp che non stava sulla macchina e la funzione mail non ti permette di specificare l'host smtp....io avevo risolto usando phpmailer...però non so se è lo stesso caso...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.