Bonjour.

J'ai une class SMTPclient et j'ai ajouté deux variables $nom et $tel mais je ne sais pas où placer l'information dans la class SMTPClient dans la fonction SendMail. J'ai passé la soirée à méditer la dessus et je n'arrive pas à une solution. Pour le formulaire et la validation PHP, je n'ai pas de problème.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
class SMTPClient
 
{
    function SMTPClient($SmtpServer, $SmtpPort, $SmtpUser, $SmtpPass, $from, $to, $nom, $tel, $subject, $body)
    {
        $this->SmtpServer = $SmtpServer;
        $this->SmtpUser = base64_encode($SmtpUser);
        $this->SmtpPass = base64_encode($SmtpPass);
        $this->from = $from;
        $this->to = $to;
        $this->nom = $nom;
        $this->tel = $tel;
        $this->subject = $subject;
        $this->body = $body;
        if ($SmtpPort == "") {
            $this->PortSMTP = 26;
        }
        else {
            $this->PortSMTP = $SmtpPort;
        }
    }
 
    function SendMail()
    {
        if ($SMTPIN = fsockopen($this->SmtpServer, $this->PortSMTP)) {
            fputs($SMTPIN, "EHLO " . $_SERVER['HTTP_HOST'] . "\r\n");
            $talk["hello"] = fgets($SMTPIN, 1024);
            fputs($SMTPIN, "auth login\r\n");
            $talk["res"] = fgets($SMTPIN, 1024);
            fputs($SMTPIN, $this->SmtpUser . "\r\n");
            $talk["user"] = fgets($SMTPIN, 1024);
            fputs($SMTPIN, $this->SmtpPass . "\r\n");
            $talk["pass"] = fgets($SMTPIN, 256);
            fputs($SMTPIN, "MAIL FROM: <" . $this->from . ">\r\n");
            $talk["From"] = fgets($SMTPIN, 1024);
            fputs($SMTPIN, "RCPT TO: <" . $this->to . ">\r\n");
            $talk["To"] = fgets($SMTPIN, 1024);
            fputs($SMTPIN, "DATA\r\n");
            $talk["data"] = fgets($SMTPIN, 1024);
            fputs($SMTPIN, "To: <" . $this->to . ">\r\nFrom: <" . $this->from . ">\r\nSubject:" . $this->subject . "\r\n\r\n\r\n" . $this->body . "\r\n.\r\n");
            $talk["send"] = fgets($SMTPIN, 256);
 
            // CLOSE CONNECTION AND EXIT ...
 
            fputs($SMTPIN, "QUIT\r\n");
            fclose($SMTPIN);
 
            //
 
        }
 
        return $talk;
    }
}
Les erreurs que j'obtiens:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 Missing argument 9 for SMTPClient::SMTPClient(), called in /home/public_html/include/contact.php on line 64 and defined in /home/public_html/include/contact.php on line 9
 Warning:  Missing argument 10 for SMTPClient::SMTPClient(), called in /home/public_html/include/contact.php on line 64 and defined in /home/public_html/include/contact.php on line 9
 Undefined variable: subject in /home/public_html/include/contact.php on line 18
 Undefined variable: body in /home/public_html/include/contact.php on line 19
J'apprécierais une aide qui serait le bienvenue.